C++多继承、钻石继承、虚继承
作者:互联网
C++的语言特性太多了,一时不用就忘了,本篇记录C++多继承的用法。
一 多继承
比如有3个类,B派生于类A1, A2, 代码如下
class A1 { public: A1():m_ID(10) {} public: int m_ID; }; class A2 { public: A2():m_ID(11) {} public: int m_ID; }; class B : public A1, public A2 { public: B() {} };
以上代码父类A1, A2有同名的类成员 m_ID,那么派生类B自然也有m_ID这个成员,那么派生类A该怎么获取m_ID呢,如下代码,直接获取?
此时编译器报错,“B:m_ID”不明确,不知道调用时哪个类的m_ID成员,正确的写法如下:
二 钻石继承
根据以上代码,在增加一个类A, 让A1, A2都继承于A,那么现在的
标签:钻石,继承,class,C++,public,A1,A2,ID 来源: https://blog.51cto.com/u_12570763/2845440