訪問權限:
public(公有) -內部、 子類、 外部 (客廳- 大家都能參觀) 最高級
protected(保護)- 內部 、子類 (臥室-只有你和你媳婦還有兒子能進去) 中級
private(私有) - 內部 (加密加密加密保險箱-只有你自己能打開)最低級
繼承
class B: public A B類繼承了A類的成員變量以及方法 (public), A爲基類 (父類)B爲派生類(子類)。
public繼承: (父類)public ——(子類)public
(父類)protected ——(子類)protected
(父類)private —— 子類無權限訪問
protected繼承: (父類)public ——(子類)protected
(父類)protected ——(子類)protected
(父類)private —— 子類無權限訪問
private繼承: (父類)public ——(子類)private
(父類)protected ——(子類)private
(父類)private —— 子類無權限訪問
(!!!子類的所有訪問特性級別不能高於繼承模式。)
父類先構造,子類再構造。
子類先析構,父類再析構。
構造函數調用先後 示例程序:
#include<iostream>
using namespace std;
class A //先定義A類
{
public:
A() //A類的構造函數
{
cout<<"A"<<endl;
}
};
class B: public A //B類繼承A類
{
public:
B() //B類的構造函數
{
cout<<"B"<<endl;
}
};
void main()
{
B b; // 結果顯示先輸出A再輸出B
}
析構函數調用先後 示例程序:
#include<iostream>
using namespace std;
class A //先定義A類
{
public:
A() //A類的構造函數
{
cout<<"A"<<endl;
}
~A() //A類的析構函數
{
cout<<"AA"<<endl;
}
};
class B: public A //B類繼承A類
{
public:
B() //B類的構造函數
{
cout<<"B"<<endl;
}
~B() //B類的析構函數
{
cout<<"BB"<<endl;
}
};
void main()
{
B b; // 結果顯示
}