C++-------基類子類的相關問題


一、類的賦值兼容原則: 1.子類對象可以賦值給基類對象
class A
{
}

class B:public A
{
}

在主函數中:
/*
A a1;
B b1=a1;   //不可以,因為b1的空間比a1大,a1賦值過來不滿足空間大小
*/

/*
B b1;
A a=b1;    //可以進行,a1只用到b1的部分地址
*/

2.子類對象可以當做父類對象使用
 (即通俗理解父類中的代碼子類同樣擁有)


3.基類指針可以指向子類對象
  (若用子類指針指向基類對象,此時基類不滿足子類,子類中的自己的內存布局基類中沒有,報錯。)
二、子類的構造和析構
  在調用子類的構造函數時候,一定會調用基類的構造函數
  基類先構造,子類后構造
  基類后析構,子類先析構
  

三、子類基類中出現同名變量a (基類A,子類B)
  若同名變量都為public,且為公有繼承
  在子類中輸出this->a,此時的a是子類中的a,若要輸出基類中的a,需要用域名A::a來顯示調用輸出


四、繼承中的靜態成員變量
  靜態成員變量對所有家族成員都共享(靜態成員變量需要在基類中聲明並用基類域名進行初始化)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM