最近,我正在一个项目上,遇到一个不寻常的问题,这导致我不得不做一个效率很低的解决方法。
代码如下:
class Foo {
public:
void doSomething() {
cout << "Something done";
}
void doSomethingIf(bool b) {
if (b)
doSomething();
}
}
class Bar : public Foo {
public:
void doSomething() {
cout << "Something else done";
}
}
我希望它在继承的类上调用doSomethingIf,但是我希望它运行doSomething()的重写版本。除了将doSomethingIf复制到Bar类之外,还有其他方法吗?