Добро пожаловать в стек переполнения. Хотя ответы на вопросы приветствуются, обратите внимание, что на этот вопрос уже давно принят и уточнен ответ. Пожалуйста, постарайтесь не отвечать в этом случае, если это не дает нового понимания.

class base
{
  public:
  virtual void start();
  virtual void stop();

  void doSomething() { start(); .... stop(); }
}

class derived : public base
{
  public:
   void start();
   void stop();
}

гда я звонюdoSomething() в производном классе он использует свое собственное определениеStart() а такжеStop() - не производные.

Я не хочу переписыватьdoSomething() в производном классе, потому что он будет идентичен базовому. Что я делаю неправильно?

Извините, если это не ясно.
Поведение Start () и Stop () в производном классе отличается (это другой компьютер), но я хочу использовать исходный базовый класс doSomething (), потому что это не изменилось. Просто нужно запустить () и остановить () с использованием нового производного кода класса.

Ответы на вопрос(3)

Ваш ответ на вопрос