以下は、私が静的ポリモーフィズムとして理解している非常に単純な例です。PROCESSOR
動的ポリモーフィズムを使用しない理由は、 inの関数のインライン展開を妨げたくないからですop
。
template <class PROCESSOR>
void op(PROCESSOR* proc){
proc->doSomething(5);
proc->doSomethingElse();
}
int main() {
ProcessorY py;
op<ProcessorY>(&py);
return 0;
}
この例の問題点は次のとおりです。どの関数を定義する必要があるかについての明示的な定義が存在しませんPROCESSOR
。どちらかが欠けていると、コンパイル エラーが発生します。これはスタイルが悪いと思います。
また、これには非常に実用的な欠点もあります。もちろん、IDE のオンライン アシスタンスでは、そのオブジェクトで使用できる機能を表示することはできません。
のパブリックインターフェースを定義するための良い/公式の方法は何PROCESSOR
ですか?