Python个人网站建设论文,域名服务器如何申请,郑州手工外发加工网,黑龙江省中国建设银行网站首页总结#xff1a;
菱形继承带来的主要问题是子类继承两份相同的数据#xff0c;导致资源浪费以及毫无意义利用虚继承 virtual 可以解决菱形继承问题
#include iostream
#include string
using namespace std;
class Animal
{
public:int m_Age;
};//继承前加…总结
菱形继承带来的主要问题是子类继承两份相同的数据导致资源浪费以及毫无意义利用虚继承 virtual 可以解决菱形继承问题
#include iostream
#include string
using namespace std;
class Animal
{
public:int m_Age;
};//继承前加virtual关键字后变为虚继承
//此时公共的父类Animal称为虚基类
class Sheep : virtual public Animal {};
class Tuo : virtual public Animal {};
class SheepTuo : public Sheep, public Tuo {};void test01()
{SheepTuo st;st.Sheep::m_Age 100;st.Tuo::m_Age 200;//当菱形继承两个父类拥有相同的数据需要加以作用域区分cout st.Sheep::m_Age st.Sheep::m_Age endl;cout st.Tuo::m_Age st.Tuo::m_Age endl;cout st.m_Age st.m_Age endl;//这份数据我们知道只有一份就可以菱形继承导致数据有两份资源浪费
}int main() {test01();system(pause);return 0;
}