Điều tôi muốn làm là để Execute()
chạy và hoàn thành nó gọi số Base::Done()
rồi gọi số Derived::Done()
. Tôi đang làm điều này bởi vì Base
lớp Execute
sẽ làm điều gì đó và khi được thực hiện, hãy gọi số Derived::Done()
. Tôi hy vọng tôi sẽ giải thích nó một cách chính xác. Loại giống như một người nghe được gọi khi một công việc hoàn thành. Tôi bị mắc kẹt về cách lớp học Base
sẽ gọi là lớp Derived
.C++ cách gọi phương thức trong lớp dẫn xuất từ lớp cơ sở
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();
}
Mặc dù điều này có thể được thực hiện, có lẽ bạn đang tìm kiếm các mô hình phương pháp mẫu (google). –