C++ 虚函数 纯虚函数:
网址二:https://blog.youkuaiyun.com/hackbuteer1/article/details/7558868,
问题来源一:
namespace MNN {
class Execution : public NonCopyable {
public:
virtual ErrorCode onExecute(const std::vector &inputs, const std::vector &outputs) = 0;
}
}
答案:
纯虚函数是在基类中声明的虚函数,它在基类中没有定义,但要求任何派生类都要定义自己的实现方法。在基类中实现纯虚函数的方法是在函数原型后加“=0” :
virtual void funtion1()=0;
定义纯虚函数是为了实现一个接口,起到一个规范的作用,规范继承这个类的程序员必须实现这个函数。
问题来源二:
看到深度骨架代码在类里定义了一个virtual虚函数,同时又实现了这个虚函数,且这个类没有子类,虚函数不是子类继承用的吗?
答案: 在网址一,
首先:强调一个概念
定义一个函数为虚函数,不代表函数为不被实现的函数。
定义他为虚函数是为了允许用基类的指针来调用子类的这个函数。
定义一个函数为纯虚函数,才代表函数没有被实现。
定义纯虚函数是为了实现一个接口,起到一个规范的作用,规范继承这个类的程序员必须实现这个函数.