C++菱形继承的问题使用虚继承关键字virtual

//作用:避免了资源的浪费

class A//基类

{

public:

    string name;

}

class B:virtual public:A//使用virtual虚继承,底层继承这个类的指针

{

}

class C:virtual public:A//使用virtual虚继承,底层继承这个类的指针

{

}

class D:public :B,public: C//菱形继承 

{

//修改name的值其实是修改了指针,避免了二义性

}

猜你喜欢

转载自blog.csdn.net/qq_40776805/article/details/108445860