日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > c/c++ >内容正文

c/c++

C++ (public, protected, private继承)

發(fā)布時(shí)間:2025/3/15 c/c++ 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C++ (public, protected, private继承) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

http://thinkinginmylife.spaces.live.com/blog/cns!E44140D5E07BEC07!137.entry

?

我轉(zhuǎn)~~~C++5(public, protected, private繼承)

在繼承關(guān)系中,基類的private成員不但對(duì)應(yīng)用程序隱藏,即使是派生類也是隱藏不可訪問(wèn)的,而基類的保護(hù)成員只對(duì)應(yīng)用程序隱藏,對(duì)于派生類來(lái)說(shuō)是不隱藏的,保護(hù)繼承與私有繼承在實(shí)際編程工作中使用是極其少見(jiàn)的,他們只在技術(shù)理論上有意義。

//程序作者:管寧???
//站點(diǎn):www.cndev-lab.com???
//所有稿件均有版權(quán),如要轉(zhuǎn)載,請(qǐng)務(wù)必著名出處和作者???
?
#include?<iostream>?
using?namespace?std;?
?
class?Base?
{?
????public://公有的?
????????int?a1;?
????????virtual?void?test()?=?0;?
????protected://受保護(hù)的?
????????int?a2;?
????private://私有的?
????????int?a3;?
};?
//------------------------------------------------------------------------------?
class?ProtectedClass:protected?Base//保護(hù)繼承?
{?
????public:?
????????void?test()?
????????{?
????????????a1?=?1;//a1在這里被轉(zhuǎn)變?yōu)閜rotected?
????????????a2?=?2;//a2在這里被轉(zhuǎn)變?yōu)閜rotected?
????????????//a3=3;//錯(cuò)誤,派生類不能訪問(wèn)基類的私有成員?
????????}?
};?
class?ControlProtectedClass:public?ProtectedClass//以public方式繼承ProtectedClass類?
{?
????public:?
????????void?test()?
????????{?
????????????a1?=?1;//a1在這里仍然保持為a1在這里被轉(zhuǎn)變?yōu)閜rotected?
????????????a2?=?2;//a2在這里仍然保持為a1在這里被轉(zhuǎn)變?yōu)閜rotected?
????????????//a3=3;//錯(cuò)誤,由于Base類成員為私有的,即使是上級(jí)父類是保護(hù)繼承,也不能改變Base類成員的控制類型?
????????}?
};?
//------------------------------------------------------------------------------?
class?PrivateClass:private?Base//私有繼承?
{?
????public:?
????????void?test()?
????????{?
????????????a1?=?1;//a1在這里被轉(zhuǎn)變?yōu)閜rivate?
????????????a2?=?2;//a2在這里被轉(zhuǎn)變?yōu)閜rivate?
????????????//a3=3;//錯(cuò)誤,基類私有成員對(duì)文件區(qū)域與派生類區(qū)域都是不可訪問(wèn)的?
????????}?
};?
class?ControlPrivateClass:public?PrivateClass//以public方式繼承PrivateClass類?
{?
????public:?
????????void?test()?
????????{?
????????????//a1=1;//錯(cuò)誤,由于基類PrivateClass為私有繼承,a1已經(jīng)轉(zhuǎn)變?yōu)閜rivate?
????????????//a2=2;//錯(cuò)誤,由于基類PrivateClass為私有繼承,a1已經(jīng)轉(zhuǎn)變?yōu)閜rivate?
????????????//a3=3;//錯(cuò)誤,由于Base類成員為私有的,PrivateClass類也為私有繼承?
????????}?
};?
//------------------------------------------------------------------------------?
class?PublicClass:public?Base//共有繼承有區(qū)別與其它方式的繼承,繼承后的各成員不會(huì)其改變控制方式?
{?
????public:?
????????void?test()?
????????{?
????????????a1?=?1;//a1仍然保持public?
????????????a2?=?2;//a2仍然保持protected?
????????????//a3=3;//錯(cuò)誤,派生類不能操作基類的私有成員?
????????}?
};?
class?ControlPublicClass:public?PublicClass//以public方式繼承PublicClass類?
{?
????public:?
????????void?test()?
????????{?
????????????a1?=?1;//a1仍然保持public?
????????????a2?=?2;//a2仍然保持protected?
????????????//a3=3;//錯(cuò)誤,由于Base類成員為私有成員,即使是上級(jí)父類是公有繼承,也不能改變Base類成員的控制類型?
????????}?
};?
//------------------------------------------------------------------------------?
int?main()?
{?
????system("pause");??
}

轉(zhuǎn)載于:https://www.cnblogs.com/carl2380/archive/2011/01/03/1924556.html

總結(jié)

以上是生活随笔為你收集整理的C++ (public, protected, private继承)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。