我有一个尚未测试/编译的问题,想知道它是否可能以及它是否是糟糕的设计?
我的问题:
我想要一个抽象基类 A 和一个抽象派生类 B。
我意识到如果这是可能的,我将在每个类中拥有许多纯虚成员函数,并且我将无法初始化这些对象,但这是抽象类的给定。
在我的设计中,我将有另一个派生类 C,然后我将对其进行初始化——类 C 将派生自类 B。
我会有一些看起来像这样的东西
class C
^
|
abstract class B
^
|
abstract base class A
我的问题:
首先这可能吗?我会怀疑,但不在 B 类中的 A 中声明纯虚函数可能会很麻烦?
前任
class A {
public:
virtual void test()=0;
};
class B: public A {
public:
virtual void test()=0;
virtual void anotherTest()=0;
};
以上可以吗?
这是糟糕的 C++ 设计吗?将来我会从 A 派生类,所以有这个设计会很好。