我有一个 C++ 架构,其中有许多类都派生自两个不同的基类。所有派生类都以略有不同的方式覆盖/实现基类中的相同方法。为了显示:
class B1 {
public:
// method_1 is pure virtual.
virtual void method_1() = 0;
};
class B2 {
public:
// method_2 is not pure virtual.
virtual void method_2();
};
class D1 : public B1, public B2 {
public:
virtual void method_1() { // Does something... }
virtual void method_2() { // Does something... }
};
class D2 : public B1, public B2 {
public:
virtual void method_1() { // Does something slightly different... }
virtual void method_2() { // Does something slightly different... }
};
一切正常,但由于有大约 20 个派生类,感觉应该有一种方法来改进这个设计,这样我就必须编写更少的代码,特别是因为派生类在他们正在做的事情上通常非常相似. 任何人都可以为我提供任何关于未来的指示吗?