c++(继承 &&菱形继承)

c++(继承 &&菱形继承)

#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
using namespace std;

class Animal
{
public:
	int m_Age;
};

class Sheep :virtual public Animal
{};
class Tuo :virtual public Animal
{};
class SheepTuo :public Sheep, public Tuo
{};

//菱形继承的解决方案 利用虚继承
void test01()
{
	SheepTuo st;
	st.Sheep::m_Age = 10;
	st.Tuo::m_Age = 20;
	cout << st.Sheep::m_Age << endl;
	cout << st.Tuo::m_Age << endl;
}

int main()
{
	test01();
	return 0;
}

posted on 2021-04-24 17:01  lodger47  阅读(31)  评论(0编辑  收藏  举报

导航