小编Pat*_*tou的帖子

C++纯虚拟多重继承?

我需要帮助实现使用接口的多重继承...

存在具有许多功能的接口的现有代码.实例是使用工厂创建的.

class IBig
{
    // Lot of pure virtual functions
};
Run Code Online (Sandbox Code Playgroud)

他的补充:

class CBig: public IBig
{
    // Implementation
}
Run Code Online (Sandbox Code Playgroud)

我想在多个较小的接口中拆分接口,但它应该与现有代码保持一段时间兼容.

以下是我尝试做的一个示例:

class IBaseA
{
public:
    virtual void DoA() = 0;
};

class IBaseB
{
public:
    virtual void DoB() = 0;
};

// The same interface, now based on multiple smaller interfaces
class IBig : public IBaseA, public IBaseB
{
};

class CBaseA: public IBaseA
{
public:
    virtual void DoA()
    {
        printf("DoA\n");
    }
};

class CBaseB: public IBaseB
{ …
Run Code Online (Sandbox Code Playgroud)

c++ virtual inheritance multiple-inheritance

10
推荐指数
1
解决办法
3219
查看次数

标签 统计

c++ ×1

inheritance ×1

multiple-inheritance ×1

virtual ×1