C++ private和protected派生(私有和保护派生)
发布时间:2020-12-16 07:41:47 所属栏目:百科 来源:网络整理
导读:除了公有派生(继承),C++ 还支持私有派生(继承)和保护派生(继承)。具体写法是在派生类定义的“继承方式说明符”位置写 private 或 protected。例如: class B:private A{ }; //私有派生class C:protected A{ }; //保护派生 不同派生方式会导致基类的成
除了公有派生(继承),C++ 还支持私有派生(继承)和保护派生(继承)。具体写法是在派生类定义的“继承方式说明符”位置写 private 或 protected。例如:
class B:private A{ }; //私有派生 class C:protected A{ }; //保护派生不同派生方式会导致基类的成员在派生类中的可访问范围属性不同,如表 1 所示。
?
举一个例子说明该表的解读方法:第四行第三列说明,基类的公有成员经过私有派生后,在派生类中变为私有成员。其他情况以此类推。 类的“不可访问”成员指的是类的成员函数内部也不能访问的成员。例如,基类的私有成员在派生类的成阜函数内就不能访问,但它依然是派生类的成员,因此说基类的私有成员在派生类中成为不可访问成员。 假设基类 A 私有派生出类 B,类 B 又派生出类 C。依据上表,经过私有派生后,类 A 的公有成员 x 在类 B 中成为私有成员,于是在类 C 的成员函数中就不能访问 x 了,因为在派生类的成员函数中不能访问基类的私有成员。 一般情况下都应使用公有派生。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |