我有一个带有几个纯虚函数的抽象类,我从它派生的类之一不使用纯虚函数之一:
class derivative: public base
{
public:
int somevariable;
void somefunction();
};
Run Code Online (Sandbox Code Playgroud)
无论如何,当我尝试编译它时,我得到一个错误(显然,如果从抽象类派生并且不覆盖所有纯虚函数,则仍然认为类是抽象的).无论如何,定义一个函数似乎毫无意义
int purevirtfunc(){return 0;}
Run Code Online (Sandbox Code Playgroud)
仅仅因为它需要通过技术性来定义.无论如何从抽象类派生一个类而不使用抽象类的纯虚函数之一?
jon*_*nii 14
纯虚拟类是一个接口,您的代码可以满足该接口.如果您实现了该接口并且没有实现其中一个方法会发生什么?调用您的界面的代码如何知道您没有实现该方法?
你的选择是: