我想要做的是爲Execute()
運行並完成它調用Base::Done()
然後調用Derived::Done()
。我這樣做是因爲Base
類Execute
會做些什麼,當它完成後,請致電Derived::Done()
。我希望我能正確解釋它。有點像任務完成時調用的監聽器。我有點被困在Base
班將如何稱爲Derived
班。C++如何從基類中調用派生類中的方法
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();
}
雖然可以做到這一點,你可能尋找模板方法模式(谷歌)。 –