我有一个声明了纯虚函数的类,如下所示:
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类中纯虚方法的实现?
答案 0 :(得分:7)
从抽象类继承的类不必实现纯虚方法。如果不这样做,它就会成为一个抽象类本身,这意味着在这种情况下A
也是一个抽象类,而不管A
中声明的其他纯虚方法。