C++三种继承方式小结

首先来了解一下保护成员:
保护成员在基类中的访问权限与私有成员相同,可以被类成员访问,但是不能被类的对象和外部函数访问。
但是保护成员可以被派生类的成员函数访问,不能被派生类的对象访问。

继承方式:

公有继承:

原来的public,protected保持不变,private不可见
派生类的成员函数可以访问基类的公有成员和保护成员,不能访问基类的私有成员
派生类的对象可以访问基类的公有成员,不能访问基类的保护成员和私有成员
友元函数都可以访问

私有继承:

原来的public,protected,private均不可见
派生类的成员函数可以访问基类的公有成员和保护成员,不能访问基类的私有成员
派生类的对象无法访问基类的任何成员 当派生类作为基类被继续继承时,新的派生类的成员和对象不能访问根基类的任何成员
友元函数都可以访问

保护继承:

原来的public变成protected,protected还是protected,private不可见
派生类的成员函数可以访问基类的公有成员和保护成员,不能访问基类的私有成员
派生类的对象可以访问基类的公有成员,不能访问基类的保护成员和私有成员
友元函数都可以访问

下面列出三种不同的继承方式的基类特性和派生类特性。
在这里插入图片描述


表格部分参考了:C++继承:公有,私有,保护

posted @ 2021-05-09 10:19  Dawnlight-_-  阅读(49)  评论(0编辑  收藏  举报