这是我的代码的一部分:

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


是什么原因 ?

最佳答案

代码没有错。警告只是通知您您创建了一个继承关系,该继承关系不可能覆盖任何基本类型的行为。通常这表明继承在此处不合适,而ManCalInterpreter之间的另一种模式(例如“具有”)更适合

10-04 10:33