关于C++的pure virtual 函数, 有个疑问, 假设我有Interface
, AbstractClass
, DerivedClass
三个C++类, 继承关系如下:
class Interface{
public:
virtual void foo()=0;
};
class AbstractClass: public Interface{
public:
size_t pos;
// 能否不实现foo()函数, 由子类实现.
// virtual void foo(){}
};
class DerivedClass: public AbstractClass{
public:
void foo() override{
bar;
}
};
我的问题是, AbstractClass
能否不实现Interface::foo()
函数? 类似Java的abstract class 不需要实现interface的 function ?