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繼承
- 三種繼承方式繼承
- javascript繼承的方式JavaScript繼承
- 繼承的實現方式繼承
- 記不住的繼承方式繼承
- js繼承方式講解JS繼承
- JavaScript 繼承方式詳解JavaScript繼承
- JavaScript 六種繼承方式JavaScript繼承
- JS中繼承方式總結JS中繼繼承
- CSS的繼承和使用方式CSS繼承
- JavaScript的幾種繼承方式JavaScript繼承
- JavaScript實現繼承的方式JavaScript繼承
- Javascript之繼承(原型鏈方式)JavaScript繼承原型
- odoo 繼承(owl繼承、web繼承、view繼承)Odoo繼承WebView
- JS中的多種繼承方式JS繼承
- JavaScript 中的六種繼承方式JavaScript繼承
- 原型,繼承——原型繼承原型繼承
- 菱形繼承,虛繼承繼承
- JS 繼承的 六 種實現方式JS繼承
- [JS]繼承的這6種方式!(上)JS繼承
- [JS]繼承的這6種方式!(下)JS繼承
- js實現繼承的三種方式JS繼承
- 細說 js 的7種繼承方式JS繼承
- js實現繼承的幾種方式JS繼承
- javascript繼承的實現方式介紹JavaScript繼承
- 繼承的實現方式及原型概述繼承原型
- 如何用繼承的方式完成包裝繼承
- 多繼承 與 多重繼承繼承
- C++繼承詳解:共有(public)繼承,私有(private)繼承,保護(protected)繼承C++繼承
- 三種繼承的方法:public 繼承/private繼承/protected繼承詳解及區別繼承
- Javascript繼承4:潔淨的繼承者—-原型式繼承JavaScript繼承原型
- Javascript繼承2:建立即繼承—-建構函式繼承JavaScript繼承函式
- 6種JavaScript繼承方式及優缺點JavaScript繼承
- javascript幾種繼承方式;不看就out啦JavaScript繼承
- 原型鏈實現繼承的6種方式原型繼承
- javascript實現繼承方式簡單介紹JavaScript繼承
- Javascript中的幾種繼承方式比較JavaScript繼承
- PHP模擬多繼承的方式:traitsPHP繼承AI