菱形继承
#include<iostream>
using namespace std;
class Animal
{
public:
int m_Age;
};
class Sheep : public Animal {};
class Tuo : public Animal {};
class SheepTuo : public Sheep, public Tuo {};
void test()
{
SheepTuo st;
st.Sheep::m_Age = 18;
st.Tuo::m_Age = 20;
cout << "st.Sheep::m_Age: " << st.Sheep::m_Age << endl;
cout << "st.Tuo::m_Age: " << st.Tuo::m_Age << endl;
}
int main()
{
test();
return 0;
}
菱形继承数据存在二义性问题。
cl /d1 reportSingleClassLayoutSheepTuo test.cpp