c++----繼承方式
c++ ----繼承方式
繼承的語法
子類:繼承方式 父類
程式碼部分
#include<iostream>
using namespace std;
//繼承的三種方式
//公共繼承
//保護繼承
//私有繼承
//注意事項
//子類無論是以那一種方式繼承,都不能訪問父類中的私有許可權的成員
//若子類以public方式繼承,,在不改變父類訪問許可權的情況下繼承
//若子類以protected的方式繼承,那麼所繼承的成員屬性和函式都變為protected許可權
//若一private方式繼承,那麼所繼承的成員都變為private許可權
class Base1
{
public:
int m_A;
protected:
int m_B;
private:
int m_C;
};
//首先是公共繼承
class Son1 :public Base1
{
void funtion()
{
m_A = 100;//父類中公共許可權的成員,子類公共繼承後仍為公共許可權
m_B= 100;//父類中保護許可權的成員,子類公共繼承後仍為保護許可權
//m_C = 100;//子類無法訪問父類中私有許可權的內容
}
};
void test01()
{
Son1 s1;
s1.m_A = 1000;
cout << s1.m_A << endl;
//s1.m_B = 100;//繼承後父類中的保護許可權內容,在子類中仍為保護許可權,所以無法訪問
}
/*------------------------------分割線-----------------------------------------------------------------*/
class Base2
{
public:
int m_A;
protected:
int m_B;
private:
int m_C;
};
class Son2 :protected Base2
{
void function()
{
m_A = 100;//父類中公共許可權的成員,子類保護繼承後變為:保護許可權
m_B = 100;//父類中保護許可權的成員,子類保護繼承後,仍為保護許可權
}
};
void test02()
{
Son2 s2;
/*s2.m_A = 1000;
s2.m_B = 1000;*///由於繼承後變成了保護許可權,所以類外不能訪問成員
}
/*------------------------------分割線-----------------------------------------------------------------*/
class Base3
{
public:
int m_A;
protected:
int m_B;
private:
int m_C;
};
class Son3 :private Base3
{
void function()
{
m_A = 100; //父類中公共許可權的成員,子類私有繼承後變為:私有許可權
m_B = 100;//父類中保護許可權的成員,子類私有繼承後變為:私有許可權
}
};
class grandson :public Son3
{
void fun()
{
//由於父類的成員在私有繼承後都變為了私有許可權,所以其子類不能訪問父類的私有成員了
//m_A = 100;
//m_B = 100;
}
};
void test03()
{
Son3 s3;
//s3.m_A = 100;//由於已經變成了私有許可權,所以類外不能訪問成員
//s3.m_B = 100;
}
int main()
{
test01();
system("pause");
return 0;
}
原理圖
相關文章
- js繼承方式JS繼承
- 三種繼承方式繼承
- 記不住的繼承方式繼承
- js繼承方式講解JS繼承
- 繼承的實現方式繼承
- CSS的繼承和使用方式CSS繼承
- JS中繼承方式總結JS中繼繼承
- JavaScript實現繼承的方式JavaScript繼承
- JavaScript的幾種繼承方式JavaScript繼承
- odoo 繼承(owl繼承、web繼承、view繼承)Odoo繼承WebView
- JS中的多種繼承方式JS繼承
- JavaScript 中的六種繼承方式JavaScript繼承
- 菱形繼承,虛繼承繼承
- 原型,繼承——原型繼承原型繼承
- js實現繼承的三種方式JS繼承
- JS 繼承的 六 種實現方式JS繼承
- [JS]繼承的這6種方式!(上)JS繼承
- [JS]繼承的這6種方式!(下)JS繼承
- PHP模擬多繼承的方式:traitsPHP繼承AI
- 如何用繼承的方式完成包裝繼承
- 細說 js 的7種繼承方式JS繼承
- 多繼承 與 多重繼承繼承
- javascript幾種繼承方式;不看就out啦JavaScript繼承
- 原型鏈實現繼承的6種方式原型繼承
- 6種JavaScript繼承方式及優缺點JavaScript繼承
- Javascript繼承2:建立即繼承—-建構函式繼承JavaScript繼承函式
- Javascript繼承4:潔淨的繼承者—-原型式繼承JavaScript繼承原型
- 繼承繼承
- Javascript 五十問——實現的繼承多種方式JavaScript繼承
- 實現繼承的幾種方式及工作原理繼承
- JavaScript 各種繼承方式優缺點對比JavaScript繼承
- Web前端------JS高階繼承的實現方式Web前端JS繼承
- JS中的多種繼承方式(第12天)JS繼承
- JavaScript繼承的多種方式和優缺點JavaScript繼承
- JS 總結之原型繼承的幾種方式JS原型繼承
- C++中公有繼承、保護繼承、私有繼承的區別C++繼承
- day23:單繼承&多繼承&菱形繼承&__init__魔術方法繼承
- 類的繼承_子類繼承父類繼承