我想要做的是Execute()运行并完成它调用Base::Done()然后调用Derived::Done(). 我这样做是因为Base类Execute会做一些事情,当它完成时调用Derived::Done(). 我希望我解释正确。有点像任务完成时调用的侦听器。我有点坚持Base班级将如何称呼Derived班级。
class Base
{
virtual void Done(int code){};
void Execute();
}
void Base::Execute()
{
}
class Derived : Base
{
void Done(int code);
void Run();
}
Derived::Done(int code)
{
}
void Derived::Run()
{
Execute();
}