不同继承方式的影响主要体现在: 1、派生类成员对基类成员的访问控制。 2、派生类对象对基类成员的访问控制。 三种继承方式: 1、公有继承(public) ① 基类的public和protected成员的访问属性在派生类中保持不变,但基类的private成员不可访问。 ② 派生类中的成员函数可以直接访问基类中的public和protected成员,但不能访问基类的private成员。 ③ 通过派生类的对象只能访问基类的public成员。 对于该类本身,public成员 可以被该类中的函数、子类的函数、其友元函数访问,也可以由该类的对象访问。 2、私有继承(private) ① 基类的public和protected成员都以private身份出现在派生类中,但基类的private成员不可访问。 ② 派生类中的成员函数可以直接访问基类中的public和protected成员,但不能访问基类的private成员。 ③ 通过派生类的对象不能访问基类中的任何成员。 对于该类本身,private成员 只能由该类中的函数、其友元函数访问,不能被任何其他访问,该类的对象也不能访问。 3、保护继承(protected) ① ② 派生类中的成员函数可以直接访问基类中的public和protected成员,但不能访问基类的private成员。 ③ 通过派生类的对象不能访问基类中的任何成员。 对于该类本身,protected成员 可以被该类中的函数、子类的函数、以及其友元函数访问,但不能被该类的对象访问 。 |
c++访问权限的控制
最新推荐文章于 2022-10-16 11:04:53 发布
注:友元函数包括两种:设为友元的全局函数,设为友元类中的成员函数。