继承项目第13周项目1基类中成员的访问限定符和派生类的继承方式

这段时间笔者几篇文章介绍了改继承项目的文章. 关联文章的地址

    每日一道理
风,那么轻柔,带动着小树、小草一起翩翩起舞,当一阵清风飘来,如同母亲的手轻轻抚摸自己的脸庞,我喜欢那种感觉,带有丝丝凉意,让人心旷神怡。享受生活,不一定要有山珍海味、菱罗绸缎为伴,大自然便是上帝所赐予人类最为珍贵的。
In member function 'void StudentB::showB()':|
error: 'int StudentA::num' is private|
error: within this context|
error: 'std::string StudentA::name' is private|
error: within this context|
error: 'char StudentA::sex' is private|
error: within this context|
num,sex,name在StudentA中是私有的不能再StudentA类外用,当然也包含StudentB
In function 'int main()':|
error: 'void StudentA::showA()' is inaccessible|
error: within this context|
error: 'StudentA' is not an accessible base of 'StudentB'|
stud2是StudentB定义的,因为是保护继承,stud2.showA( )只能在StudentB类顶用
私有继承也只能在类内调用
总结:
(1)采用大众继承,基类的公用成员和保护成员在派生类中仍然保持其公用成员和保护成员的属性,而基类的私有成员在派生类中并没有成为派生类的私有成员,它仍然是基类的私有成员,只要基类的成员函数可以引用,而不能被派生类的成员函数引用,因此就成为派生类的不可拜访的成员。
(2)采用私有继承,私有基类的大众成员和保护成员在派生类中的拜访属性相当于派生类的私有成员,即派生类的成员函数能拜访他们,而在派生类外不能拜访它们。私有基类的私有成员在派生类中成为不可拜访的成员。
(3)采用保护继承,保护基类的共有成员和保护成员在派生类中都成了保护成员,其私有成员仍为基类私有,也就是把基类原有的公有成员也保护起来,不让类外任意拜访。

文章结束给大家分享下程序员的一些笑话语录: 看新闻说中国输入法全球第一!领先了又如何?西方文字根本不需要输入法。一点可比性都没有。

--------------------------------- 原创文章 By
继承和项目
---------------------------------

原文地址:https://www.cnblogs.com/xinyuyuanm/p/3105085.html