可能重复:
如何强制子相同的虚函数首先调用其父虚函数
编辑人们完全忽略了这一点:我要说的是,如果很多类都继承了 Base,我不想Base::myFunction()
每一个都调用!
我不太确定如何表达这个问题,但我希望从代码中可以明显看出(这可能无法真正编译,我写得很快):
class Base
{
bool flag = false;
void myFunction ()
{
flag = true;
// here run the inherited class's myFunction()
}
};
class A : public Base
{
void myFunction ()
{
// do some clever stuff without having to set the flags here.
}
};
int main ()
{
A myClass;
myClass.myFunction(); // set the flags and then run the clever stuff
std::cout << myClass.flag << endl; // should print true
return 0;
}