zl程序教程

您现在的位置是:首页 >  后端

当前栏目

C++ private和protected派生(私有和保护派生)

C++保护 私有 Private protected 派生
2023-06-13 09:11:55 时间
除了公有派生(继承),C++ 还支持私有派生(继承)和保护派生(继承)。具体写法是在派生类定义的 继承方式说明符 位置写 private 或 protected。例如:


class B:private A{ }; //私有派生

class C:protected A{ }; //保护派生

不同派生方式会导致基类的成员在派生类中的可访问范围属性不同,如表 1 所示。


 

举一个例子说明该表的解读方法:第四行第三列说明,基类的公有成员经过私有派生后,在派生类中变为私有成员。其他情况以此类推。

类的 不可访问 成员指的是类的成员函数内部也不能访问的成员。例如,基类的私有成员在派生类的成阜函数内就不能访问,但它依然是派生类的成员,因此说基类的私有成员在派生类中成为不可访问成员。

假设基类 A 私有派生出类 B,类 B 又派生出类 C。依据上表,经过私有派生后,类 A 的公有成员 x 在类 B 中成为私有成员,于是在类 C 的成员函数中就不能访问 x 了,因为在派生类的成员函数中不能访问基类的私有成员。

一般情况下都应使用公有派生。

21558.html

c