私の質問は、おそらく例によって最もよく説明されるでしょう。
たとえば、基本クラスと派生クラスの 2 つのクラスがあります。
class baseClass
{
public:
baseClass()
{
foo();
}
virtual bool foo() { printf("baseClass"); return false;}
};
class derivedClass : public baseClass
{
public:
bool foo()
{
printf("derivedClass");
return true;
}
};
のインスタンスを作成するとderivedClass
、コンストラクターbaseClass
が呼び出され、そのコンストラクターfoo()
から呼び出されます。問題は、baseClass のコンストラクターが独自の呼び出しを行っており、派生クラスがオーバーライドしfoo()
たオーバーライドを呼び出していないことです。foo()
関数の独自の定義ではなく、オーバーライドされた関数を baseClass に呼び出させる方法はありますか?