C++的繼承和派生你了解嗎
更新時間:2022年03月11日 10:04:50 作者:qq_24409999
這篇文章主要為大家詳細(xì)介紹了C++繼承和派生,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
繼承的寫法
//父類 基類
class parent
{
};
//子類 派生類
//公有繼承
class soon1:public parent
{
public:
protected:
};
//保護(hù)繼承
class son2:protected parent
{
public:
protected:
};
//私有繼承
class son3:private parent
{
public:
protected:
};
//繼承和派生
//繼承:子類中沒有產(chǎn)生新的屬性和行為
//派生:派生類中有新的屬性和行為產(chǎn)生
class 子類名:繼承方式 父類名
{
};
//繼承方式 就是權(quán)限限定詞
繼承實(shí)質(zhì)與權(quán)限問題 ?
- 繼承的實(shí)質(zhì):父類的數(shù)據(jù)和成員子類中有一份?
- 權(quán)限問題:繼承方式只會增強(qiáng)父類屬性在子類中的權(quán)限顯示
| public | protected | private | |
|---|---|---|---|
| public繼承 | public | protected | 不可直接訪問 |
| protected繼承 | protected | protected | 不可直接訪問 |
| private繼承 | private | protected | 不可直接訪問 |
#include<iostream>
#include<string>
using namespace std;
class parent
{
public:
void print()
{
cout << name << "\t" << money << endl;
}
string& getWide()
{
return wide;
}
protected:
string name;
int money;
private:
string wife;
};
//子類
class son :public parent
{
public:
void printSon()
{
print();
cout << name<<"\t"<<money<< endl;
//cout << wife << endl;父類中的私有屬性不能直接訪問
cout << getWide() <<endl;//間接通過父類的函數(shù)訪問
}
protected:
};
class A
{
public:
int a1;
protected:
int a2;
private:
int a3;
};
class B :public A
{
public:
//int a1;
protected:
//int a2;
private:
//int a3;不能直接訪問
};
class C :protected A
{
public:
protected:
//int a1; public 顯示protected
//int a2;
private:
//int a3;不能直接訪問
};
class D :private A
{
public:
void print()
{
cout << a1 << endl;;
cout << a2<< endl;
}
protected:
private:
//int a1; public 顯示protected
//int a2;
//int a3;//父類的私有屬性不能直接訪問
};
//私有繼承會導(dǎo)致當(dāng)前父類 無法在孫子類有任何作用
class F :public D
{
public:
};
int main()
{
son boy;
boy.printSon();
B b;
b.a1 = 123;
C c;
//c.a1 = 12;
return 0;
}
總結(jié)
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
利用反射獲得類的public static/const成員的值實(shí)例
下面小編就為大家?guī)硪黄梅瓷浍@得類的public static/const成員的值實(shí)例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-12-12
C語言pow()函數(shù)實(shí)現(xiàn)求x的y次方的值
這篇文章主要介紹了C語言pow()函數(shù)實(shí)現(xiàn)求x的y次方的值,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03
C++下程序運(yùn)行時間的四種常用計時方法總結(jié)
這篇文章主要介紹了C++下程序運(yùn)行時間的四種常用計時方法,介紹了幾種常用的計時方法,包括低精度的clock()和GetTickCount(),以及高精度的gettimeofday()和QueryPerformanceCounter(),需要的朋友可以參考下2024-09-09
C++高級數(shù)據(jù)結(jié)構(gòu)之線段樹
這篇文章主要介紹了C++高級數(shù)據(jù)結(jié)構(gòu)之線段樹,文章圍繞主題的相關(guān)資料展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下2022-05-05
詳解C語言中的char數(shù)據(jù)類型及其與int類型的轉(zhuǎn)換
這篇文章主要介紹了詳解C語言中的char數(shù)據(jù)類型及其與int類型的轉(zhuǎn)換,是C語言入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下2015-08-08

