析構函數(Destructor)
? 析構函數(也叫析構器),在對象銷毀的時候自動調用,一般用于完成對象的清理工作
?特點
?函數名以~開頭,與類同名,無返回值(void都不能寫),無參,不可以重載,有且只有一個析構函數
?注意
?通過malloc分配的對象free的時候不會調用構造函數
? 構造函數、析構函數要聲明為public,才能被外界正常使用
聲明和實現分離
image.png
命名空間
image.png
思考
image.png
命名空間的嵌套
image.png
命名空間的合并
image.png
命名空間的合并
image.png
其他編程語言的命名空間
? Java
?Package
? Objective-C
?類前綴
繼承
image.png
對象的內存布局
image.png
成員訪問權限
? 成員訪問權限、繼承方式有3種
?public:公共的,任何地方都可以訪問(struct默認)
?protected:子類內部、當前類內部可以訪問
?prvate:私有的,只有當前類內部可以訪問(class默認)
? 子類內部訪問父類成員的權限,是以下2項中權限最小的那個
?成員本身的訪問權限
?上一級父類的繼承方式
? 開發中用的最多的繼承方式是public,這樣能保留父類原來的成員訪問權限
? 訪問權限不影響對象的內存布局
初始化列表
image.png
思考
image.png
思考
image.png
構造函數的互相調用
image.png
初始化列表與默認參數配合使用
image.png