程序代码:
#include<iostream>
using namespace std;
class A
{
public:
int n;
};
class B:public A {}; // class B:virtual public A{};
class C:public A {}; // class C:virtual public A{};
class D:public B,public C
{
public:
int getn() {return B::n;}
};
int main()
{
D d;
d.B::n=10;
d.C::n=20;
cout<<d.getn()<<endl;
return 0;
}
预计结果:
10
运行结果:
改为注释后
预计结果:
10
20
运行结果:
分析:
又忘记了最后的派生类调用基类的构造函数