Можно создать дубликат:
How to force child same virtual function call its parent virtual function firstRun функции базового класса, а затем унаследовал класс функций
EDIT Люди полностью отсутствует пункт: То, что я получаю на это, если много классов наследуют База, я не хочу звонить 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;
}
Вы имели в виду 'virtual void myFunction'? – Thomas
см. [C++ faq] (http://www.parashift.com/c++-faq-lite/virtual-functions.html#faq-20.5), чтобы объяснить – EdChum