9.19

当派生类与基类中有相同成员时:

若未强行指名,则通过派生类对象使用的是派生类中的同名成员。

如要通过派生类对象访问基类中被覆盖的同名成员,应使用基类名限定。

多重继承:

class 派生类名:继承方式1  基类名1,继承方式2  基类名2,...

{

成员声明;

}

注意:每一个“继承方式”,只用于限制对紧随其后之基类的继承。

多继承时的构造函数:

派生类名::派生类名(基类1形参,基类2形参,...基类n形参,本类形参):基类名1(参数), 基类名2(参数), ...基类名n(参数)

{

本类成员初始化赋值语句;

};

二义性问题

在多重继承时,基类与派生类之间,或基类之间出现同名成员时,将出现访问时的二义性(不确定性)——采用虚函数或同名覆盖原则来解决。

当派生类从多个基类派生,而这些基类又从同一个基类派生,则在访问此共同基类中的成员时,将产生二义性——采用虚基类来解决。

虚基类

虚基类的引入,用于有共同基类的场合

声明:以virtual修饰说明基类�例:class B1:virtual public B

作用:主要用来解决多继承时可能发生的对同一基类继承多次而产生的二义性问题.

为最远的派生类提供唯一的基类成员,而不重复产生多次拷贝

注意:在第一级继承时就要将共同基类设计为虚基类。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 派生类成员的标识与访问 同名覆盖原则 当派生类与基类中有相同成员时: 若未强行指名,则通过派生类对象使用的是派生类...
    张正戈hg阅读 1,436评论 0 0
  • 今天上午还是学习了 继承与派生 派生类成员的标识与访问 同名覆盖原则 若未强行指名,则通过派生类对象使用的是派生类...
    战昭辰阅读 1,117评论 0 0
  • 1.同名覆盖原则 当派生类与基类中有相同成员时: 若未强行指名,则通过派生类对象使用的是派生类中的同名成员。 如要...
    张梦涵625阅读 1,639评论 0 0
  • 派生类成员的标识与访问 1.当派生类与基类中有相同成员时: 若未强行指名,则通过派生类对象使用的是派生类中的同名成...
    芦继超阅读 1,472评论 0 0
  • 今天继续学习了派生类。 当派生类与基类中有相同成员时:若未强行指名,则通过派生类对象使用的是派生类中的同名成员。如...
    张微vivi阅读 1,202评论 0 0

友情链接更多精彩内容