首先我們給出一個類的例子
一. 在main()中,對象st不知道該調用哪一個構造函數,因為CStack()和CStack(int size=100)都滿足條件,此時正確的編譯器會立即標示這種沖突,強迫實現者解決這個問題。
二. 假設我們已經有了一個CStack對象s1CSatck s2=s1; //這個句子將會調用復制構造函數CStack s3 = CStack(200); //這個句子將會做什么呢?首先,產生一個臨時CStack對象,不妨命名為sss,并調用構造函數CStack::CStack(200),隨后執行復制構造函數。也就是說,它相當于CStack sss(200);CStack s3(sss);這很浪費時間,不過,大多數編譯器還是能優化這種語句。但是我們為什么不養成一個好的習慣,直接寫成CStack s3(200)呢?
posted on 2009-04-29 17:45 jaysoon 閱讀(403) 評論(0) 編輯 收藏 引用 所屬分類: C++
Powered by: C++博客 Copyright © jaysoon