C++的继承和派生(三)虚继承和虚基类、虚继承时的构造函数
虚继承和虚基类的概念
多继承
多继承是指从多个直接基类中产生派生类的能力,多继承的派生类继承了所有父类的所有的成员,但是多继承很容易造成命名冲突的问题,例如典型的菱形继承
如上图所示,假设当类A中有一个成员变量a,那么在D类中直接访问就会产生歧义,因为编译器不知道成员变量 a 的来源途径是什么(A→B→D还是A→C→D)。不仅如此,类A在类D 中存在两份数据,那么构造D类的对象时,就必须对这两份数据经行初始化,此时来A 的构造函数就会调用两次。为了解决多继承时的成员冗余、重复和命名冲突的问题,C++提
原创
2020-06-25 15:34:10 ·
737 阅读 ·
0 评论