我想要做的是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();
}