假设我有这两个类,一个是另一个的儿子:
class Base
{
public:
void someFunc() { cout << "Base::someFunc" << endl; }
void someOtherFunc() {
cout << "Base::someOtherFunc" << endl;
someFunc(); //calls Base:someFunc()
};
class Derived : public Base
{
public:
void someFunc() { cout << "Derived::someFunc" << endl; }
};
int main()
{
Base b* = new Derived();
b->someOtherFunc(); // Calls Base::someOtherFunc()
}
如何让基类调用正确的 someFunc() 方法?
注意:我无法编辑基类。
最佳答案
您需要将 someFunc
设为虚拟,如果您无法编辑 Base
,则无法执行此操作:)
关于c++ - 从另一个基本方法调用重写的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30047846/