次の例では、動的ディスパッチを使用して仮想関数を呼び出しますか?
struct Base{
virtual double fn(){return 3.2;}
};
struct Deri1 : public Base{
using Base::fn;
}
struct Deri2 : public Base{
virtual double fn(){return 4.6;}
}
私が実装しているクラスにはより多くの情報が含まれていますが、一部の派生クラスではデフォルトのままにし、他のクラスではオーバーライドしたいものがあります。上記のコードの fn() はその例です。基本的には、基本クラスを使用して、オーバーライドされないたびに fn() を書き換えないようにしています。これは正しい方法ですか?
ありがとう!