【Example】C++ 虚基类与虚继承 (菱形继承问题)

C++ 是支持多继承的语言,但是实际项目开发中非必要不要使用多继承以降低代码逻辑的复杂性,当然 C++ 多继承的特性带来一些问题即菱形继承。

成都创新互联是一家专注于成都做网站、成都网站制作与策划设计,滑县网站建设哪家好?成都创新互联做网站,专注于网站建设十余年,网设计领域的专业建站公司;建站业务涵盖:滑县等地区。滑县做网站价格咨询:18980820575

当一个类继承了两个来自同父类的子类后,会产生命名空间冲突及资源冗余。

【伪代码】

class Base{
public:
int gem = 0; 
};

class Byte : public Base{};

class Expert : public Base{};

class Blu : public Byte, public Expert{
public:

// Error 字段不明确
    void SetGem(int i) {
this->gem = i;
    }

}

本文标题:【Example】C++ 虚基类与虚继承 (菱形继承问题)
文章链接:http://pwwzsj.com/article/dsogocp.html