class base
{
public:
virtual void start();
virtual void stop();
void doSomething() { start(); .... stop(); }
}
class derived : public base
{
public:
void start();
void stop();
}
Run Code Online (Sandbox Code Playgroud)
但是当我调用doSomething()派生类时,它使用它自己的定义Start()而Stop()不是派生类.
我不想doSomething()在派生类中重写,因为它与基类相同.我究竟做错了什么?
对不起,如果不清楚.
派生类中Start()和Stop()的行为是不同的(它是一个不同的机器) - 但我想使用原始基类doSomething(),因为它没有改变.它只需要使用新的派生类代码start()和stop().