本人學習C++不精,故重新學習,點滴記錄與大家分享,不足之處還望大牛多多指教
。
條款12:複制對象時勿忘其每一個成分
其實當我看到這個标題的時候我在想是不是說的深度拷貝的問題,但是我發現我想多了,畢竟這本書不是一本C++基礎教程。該條款主要是針對在繼承中,子類實作拷貝構造函數或者指派運算符時,父類的成員變量沒有初始化的問題。
首先還是看下代碼吧。
程式又一次通路異常,原因很簡單,在子類的拷貝構造函數中沒有初始化父類的成員。隻要在拷貝構造函數調用的時候初始化父類就OK,但是我在想這個問題在基本的C++教程中貌似也有講到過,是以基本的程式設計規範還是很有效的,至少可以避免這些問題。總之在你用一個變量之前确定它已經初始化好了。
對于指派運算符,其實是一樣的。