繼承的優點:減少代碼的冗餘 提高代碼的重用性 派生類定義格式: Class 派生類名 : 繼承方式 基類名{ //派生類新增的數據成員和成員函數 }; class 子類: 繼承方式 父類名{ //子類新增的數據成員和成員函數 }; 繼承方式分類: public : 公有繼承 (重要) private ...
繼承的優點:減少代碼的冗餘 提高代碼的重用性
派生類定義格式: Class 派生類名 : 繼承方式 基類名{ //派生類新增的數據成員和成員函數 }; class 子類: 繼承方式 父類名{ //子類新增的數據成員和成員函數 };
繼承方式分類:
public : 公有繼承 (重要) private : 私有繼承 protected : 保護繼承註意:
子類繼承父類,子類擁有父類中全部成員變數和成員方法(除了構造和析構之外的成員方法),但是在子類中,繼承的成員並不一定能直接訪問,不同的繼承方式會導致不同的訪問許可權。 (public 繼承 父類中的私有數據 在子類 不可見 其他保持原樣) (保護繼承 父類的私有數據 在子類中 不可見 其他數據 都變保護) (私有繼承 父類中的私有數據在子類中 不可見 其他變成私有)
不管啥繼承方式:父類中的私有數據在 子類中不可見
繼承中構造和析構的順序
1 class Base 2 { 3 public: 4 Base() 5 { 6 cout<<"父類的無參構造函數"<<endl; 7 } 8 ~Base() 9 { 10 cout<<"父類中的析構函數"<<endl; 11 } 12 }; 13 class Son:public Base 14 { 15 public: 16 Son() 17 { 18 cout<<"子類的無參構造"<<endl; 19 } 20 ~Son() 21 { 22 cout<<"子類中的析構函數"<<endl; 23 } 24 }; 25 void test01() 26 { 27 Son ob1; 28 }總結: 構造順序: 父類(基類)構造 ------> 子類(派生類)構造 析構順序:子類(派生類)析構------> 父類 (基類) 析構
繼承主要掌握那張坐標表,對於這塊知識內容就沒有多大問題啦..