重複の可能性:
C++のプライベート仮想メソッド
この投稿( C ++のプライベート仮想メソッド)から正しく理解していれば、基本クラスで仮想関数を作成すると、派生クラスがそれをオーバーライドできるようになります。しかし、物事はそこで止まるようです。
ただし、基本クラスの仮想関数が純粋である場合、派生クラスに関数を実装するように強制します。したがって、純粋(パブリック)仮想関数は単なるインターフェースです。ここでメリットがわかります。
一方、基本クラスの仮想関数をプライベートにすると、派生クラスに関数をオーバーライドする機能しか与えられませんが、これによるメリットはわかりません。まるでそのプライベート仮想関数がそこにさえないかのようです。派生クラスは、そのプライベートであるため、基本クラスにその仮想関数が存在することを明らかに認識していません。したがって、継承またはポリモーフィズムの観点から、基本クラスのプライベート関数を仮想として宣言する利点はありますか?
また、基本クラスが関数「純粋仮想」と「プライベート」を宣言する状況はありますか?
ありがとうございました。