Quello che voglio fare è che Execute()
venga eseguito e completato, chiama lo Base::Done()
quindi chiama lo Derived::Done()
. Lo sto facendo perché la classe Base
Execute
farà qualcosa e una volta eseguita chiama lo Derived::Done()
. Spero di spiegarlo correttamente. Un po 'come un ascoltatore che viene chiamato quando un compito è completato. Sono piuttosto bloccato su come la classe Base
chiamerà la classe Derived
.C++ come chiamare il metodo nella classe derivata dalla classe base
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();
}
Anche se questo può essere fatto, probabilmente stai cercando il modello Template Method (google). –