这是我的代码的一部分:
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
是什么原因 ?
最佳答案
代码没有错。警告只是通知您您创建了一个继承关系,该继承关系不可能覆盖任何基本类型的行为。通常这表明继承在此处不合适,而ManCal
和Interpreter
之间的另一种模式(例如“具有”)更适合