c++ - 具有多重继承和依赖父类的设计

标签 c++ design-patterns

我有许多类 1 类、2 类等继承了 A 类和 B 类(但并非所有类都继承了这两个类)。

代码如下所示:

class 1: public A, public B
{
    getVar() { return mVar; }
}

class 2: public A, public B
{
    getVar() { return mVar; }
}

class A
{
    protected: int mVar;
}

class B
{
    virtual int getVar()=0;
}

这里我从 B 类中的 A 类获取变量。但为此我必须实现 getVar() { return mVar; 在所有派生自 A 和 B 的类 (classN) 中。
正确的设计方法应该是什么,以便我可以提供默认实现,而不必在所有派生类中编写相同的代码。

最佳答案

定义类 C 继承自 A 和 B 并实现 getVar() { return mVar; 那里。然后你可以从 C 继承你之前从 A 和 B 继承的地方。

关于c++ - 具有多重继承和依赖父类的设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37195366/

相关文章:

c# - 你怎么称呼只能设置的标志?

algorithm - 责任链能否有多个节点修改请求?

c++ - 完美转发和 std::tuple(或其他模板类)

c++ - dup2( ) 导致子进程提前终止

java - Builder Pattern inside vs outside类?

android - 在 ListView 中显示来自 web 服务的大数据的最佳方法/模式

c++ - 使用fstream方法读取二进制数据

python - SWIG C++ 到 Python : generate a subclass of Python list

C++ COM ATL DLL

java - Android 上的 MVC 模式