【b站黑马程序员C++视频学习笔记-继承方式】
生活随笔
收集整理的這篇文章主要介紹了
【b站黑马程序员C++视频学习笔记-继承方式】
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
繼承方式
有以下三種繼承方式:
- 公共繼承public
- 保護(hù)繼承protected
- 私有繼承private
繼承之后訪問(wèn)權(quán)限如下:
| 父類A | public | protected | private |
| B:public A | public | protected | 不可訪問(wèn) |
| C:protected A | protected | protected | 不可訪問(wèn) |
| D:private A | private | private | 不可訪問(wèn) |
父類的私有屬性,子類繼承之后均不可以訪問(wèn)
#include<iostream> using namespace std;class Base1 { public:int mA; protected:int mB; private:int mC; };//公有繼承 class Son1 :public Base1 { public:void func() {mA = 10;//父類中的公共權(quán)限成員 到子類中依然是公共權(quán)限mB = 10;//父類中的保護(hù)權(quán)限成員 到子類中依然是保護(hù)權(quán)限//mC = 100;//錯(cuò)誤,父類中的私有權(quán)限成員,子類不能訪問(wèn)} };void test01() {Son1 s1;s1.mA = 100;//類外可以訪問(wèn)公有權(quán)限//s1.mB = 100;//錯(cuò)誤,類外不能訪問(wèn)保護(hù)權(quán)限 }//保護(hù)繼承 class Base2 { public:int mA; protected:int mB; private:int mC; };class Son2 :protected Base2 { public:void func() {mA = 100;//父類中的公共權(quán)限成員 到子類中變?yōu)楸Wo(hù)權(quán)限mB = 100;//父類中的保護(hù)權(quán)限成員 到子類中變?yōu)楸Wo(hù)權(quán)限//mC = 100;//錯(cuò)誤,父類中的私有權(quán)限成員,子類不能訪問(wèn)} };void test02() {Son2 s2;//s2.mA = 100;//錯(cuò)誤,在Son2中mA變?yōu)楸Wo(hù)權(quán)限,類外不能訪問(wèn)//s1.mB = 100;//錯(cuò)誤,類外不能訪問(wèn)保護(hù)權(quán)限 }//私有繼承 class Base3 { public:int mA; protected:int mB; private:int mC; };class Son3 :private Base3 { public:void func() {mA = 100;//父類中的公共權(quán)限成員 到子類中變?yōu)樗接袡?quán)限mB = 100;//父類中的保護(hù)權(quán)限成員 到子類中變?yōu)樗接袡?quán)限//mC = 100;//錯(cuò)誤,父類中的私有權(quán)限成員,子類不能訪問(wèn)} };class GrandSon3 :public Son3//公共繼承 {//mA = 100;//錯(cuò)誤,到了Son3中,mA變?yōu)樗接谐蓡T,父類中的私有權(quán)限成員,子類不能訪問(wèn)//mB = 100;//錯(cuò)誤,到了Son3中,mB變?yōu)樗接谐蓡T,父類中的私有權(quán)限成員,子類不能訪問(wèn) };void test03() {Son3 s3;//s3.mA = 100;//錯(cuò)誤,在Son2中mA變?yōu)樗接袡?quán)限,類外不能訪問(wèn)//s3.mB = 100;//錯(cuò)誤,在Son2中mB變?yōu)樗接袡?quán)限,類外不能訪問(wèn) }int main() {system("pause");return 0; }總結(jié)
以上是生活随笔為你收集整理的【b站黑马程序员C++视频学习笔记-继承方式】的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 人工智能基础——什么是人工智能
- 下一篇: 机器学习和人工智能的关系