子类继承的变量的命名从根本上看是带有父类命名空间的
#include <iostream> using namespace std; class A { public: int n; }; class B: public A { }; class C: public A { }; class D: public B, public C { }; int main() { D d; d.B::n=10; d.C::n=20; cout << d.B::n << "," << d.C::n << endl; B b; b.A::n=101; cout << b.A::n << endl; }
结果为
10,20
101
主要考核多继承的基本概念和内存布局知识(子类继承的变量的命名从根本上看是带有父类的命名空间的),可以引申出虚基类的必要性。