C++ 没有实现虚拟功能
我想问,不实现虚拟函数是否有问题?例如:C++ 没有实现虚拟功能,c++,inheritance,abstract-class,virtual-functions,C++,Inheritance,Abstract Class,Virtual Functions,我想问,不实现虚拟函数是否有问题?例如: class Function { public: virtual ~Function() {} virtual double value(double x) const = 0; virtual Function* clone() const = 0; protected: virtual void print(ostream& os) const = 0; friend ostream&am
class Function {
public:
virtual ~Function() {}
virtual double value(double x) const = 0;
virtual Function* clone() const = 0;
protected:
virtual void print(ostream& os) const = 0;
friend ostream& operator<<(ostream& os, const Function& f);
};
在派生的函数类中,例如,如果未实现克隆,它会给出编译错误吗?或者,如果我尝试调用派生的.clone,这会是一个运行时错误吗?如果你尝试实例化一个包含继承的纯虚拟函数的类,你会得到一个编译错误。当编译一个创建该类或其派生的实例的代码时,你会得到一个错误:错误C2259:无法实例化抽象函数类。它会给出编译错误吗?你为什么不试试看呢。