抽象类继承C ++中的另一个抽象类

时间:2018-06-13 14:03:14

标签: c++

我有一个声明了纯虚函数的类,如下所示:

class A : public virtual B
{
public:

   virtual void setOn() = 0;

   virtual void setOff() = 0;
};

现在,B类也是抽象的:

class B
{
public:

   virtual const ElementId& getElementId() const = 0;

   virtual const std::string& getName() const = 0;

   virtual ~B();

};

我的问题是A类如何有效,因为它没有提供B类中纯虚方法的实现?

1 个答案:

答案 0 :(得分:7)

从抽象类继承的类不必实现纯虚方法。如果不这样做,它就会成为一个抽象类本身,这意味着在这种情况下A也是一个抽象类,而不管A中声明的其他纯虚方法。