c ++抽象类,带有一些实现

时间:2012-01-10 07:53:10

标签: c++ abstract-class

我想在c ++中创建一个带有单个的抽象类,但是有一些默认实现。 因此,每个继承它的类都将具有默认行为,但您无法创建基类的实例。 但如果我将foo标记为纯虚拟,我无法为其添加实现。

class Base
{
public:
    virtual void foo() =0; //Now I can't add foo implementation
};

我的解决方案是不将它作为纯虚拟,并隐藏构造函数。 我想知道是否有可能将该类标记为纯,但仍有一些实现?

1 个答案:

答案 0 :(得分:9)

can add an implementation to a pure virtual function。派生的类可以通过显式调用base-class-method来使用默认实现。