欢迎光临散文网 会员登陆 & 注册

C++ 访问控制与继承

2023-06-07 22:04 作者:S-a-i_  | 我要投稿

protected成员

前面我们介绍过protected表示这个成员可以被派生类和友元访问,但是不能被其他类访问。

此外,派生类的成员不能够访问基类的protected成员。

(如果派生类可以改变基类protected的成员,那么我们像上面的声明即可很简单的规避protected的只能够让派生类访问的机制了,f2只是C的友元,但是它可以改变B的protected成员,这是没道理的。


公有、私有和受保护继承

派生访问说明符是控制派生类用户对于基类的访问权限。

派生访问控制符还可以控制继承自派生类的新类的访问权限


友元和继承

就像友元不能传递一样,友元不能继承。

当一个类将另一个类声明为友元时,这种关系只对做出声明的类有效,对原来的类来说,友元的基类和派生类不具有特殊的访问能力。


默认的继承保护级别

默认情况下,struct关键字定义的派生类是public继承的,class关键字定义的派生类是private继承的。

注:我们最好显式的将继承方式声明出来,而不是依赖于默认继承机制。

C++ 访问控制与继承的评论 (共 条)

分享到微博请遵守国家法律