Добро пожаловать в стек переполнения. Хотя ответы на вопросы приветствуются, обратите внимание, что на этот вопрос уже давно принят и уточнен ответ. Пожалуйста, постарайтесь не отвечать в этом случае, если это не дает нового понимания.
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 (), потому что это не изменилось. Просто нужно запустить () и остановить () с использованием нового производного кода класса.