在现实生活中,一些新事物往往会拥有两个或者两个以上事物的属性,为了解决这个问题,C++引入了多重继承的概念,C++允许为一个派生类指定多个基类,这样的继承结构被称做多重继承。(派生类有两个或两个以上的直接基类)
当一个派生类要使用多重继承的时候,必须在派生类名和冒号之后列出所有基类的类名,并用逗好分隔。
class Derived : public Base1, public Base2, … {};
存在多继承的类层次图是一个图(graph)。
只有单继承的类层次图是一个树(tree)。
对于下面这样的一个多重继承关系
class BC0 { public: int K; }; class BC1 : public BC0 { public: int x; }; class BC2 : public BC0 { public: int x; }; class DC : public BC1, public BC2{ };
问题1:类DC的对象中存在多个同名成员 x, 应如何使用?
问题2:类DC的对象中,存在两份来自类BC0的成员K,如何区分?
原文:https://www.cnblogs.com/wkfvawl/p/10756539.html