У меня есть некоторые события, как этоForce вызова базового класса виртуальной функции
class Granpa // this would not be changed, as its in a dll and not written by me
{
public:
virtual void onLoad(){}
}
class Father :public Granpa // my modification on Granpa
{
public:
virtual void onLoad()
{
// do important stuff
}
}
class Child :public Father// client will derive Father
{
virtual void onLoad()
{
// Father::onLoad(); // i'm trying do this without client explicitly writing the call
// clients code
}
}
Есть ли способ заставить призывающую OnLoad без фактического написания Отец :: OnLoad()?
хак решения приветствуются :)
Я не понимаю, почему это проблема. Вы хотите явно что-то сделать, поэтому вам нужно явно сказать это в коде ... –
Немного ли не нужно добавлять строку кода, чтобы делать что-то, что вы хотите явно? –
Поскольку такая же проблема не решена в i.e обработчиках MFC (вам всегда нужно явно вызвать CDialog :: OnInitDialog() из CMyDialog :: OnInitDialog()), я думаю, вы можете просто потребовать от пользователя этого. – Mikhail