这是我的代码的一部分:
class Interpreter {
public:
Interpreter() : m_id_counter(0) {}
virtual ~Interpreter() {}
protected:
int32 m_id_counter;
};
class ManCal : public Interpreter {
public:
ManCal() {}
};
并发出警告:
Warning: Base class 'Interpreter' has no non-destructor virtual functions
是什么原因?
答案 0 :(得分:2)
代码没有问题。警告只是通知您创建了一个继承关系,该关系不可能覆盖任何基类型行为。通常这表示继承在这里不合适,而另一种模式如“有一个”在ManCal
和Interpreter
之间更合适