純粋仮想メンバー関数 func() を持つ抽象クラス A があります。多数の派生クラスが存在し、それぞれが func() の異なる実装を持っています。
cout << "hello world";
func() の各呼び出しで実行される追加のタスクを追加する必要があると想像してください。たとえば、派生クラスから独立しているとしましょう。タスクは func() の内容からも独立しているため、func() の前、後、または途中でも実行できますが、func() への各呼び出しが一度だけ実行されるという事実だけが重要です。
c++(11) はこれを行うスマートな方法を許可しますか?
私の頭に浮かぶ最善のことは、タスクが実装されている親クラスに pre-func() メソッドを記述し、派生クラスのすべての func() 実装の先頭に pre-func() への呼び出しをコピーすることです。クラス。もっと良いものはありますか?