我用C++编程的时候需要对函数进行重载,使函数拥有不同的参数类型,分别是父类类型和子类类型,这样用重载会不会有问题?
人生最曼妙的风景,竟是内心的淡定与从容!
はい、たとえばこのコードです。
出力は
はい、C++ のオーバーロードは、ソース ファイルをターゲット ファイルにコンパイルするときに関数名を変更することで実現されます。コンパイラーは、その関数を呼び出すときに渡されたパラメーターに基づいて呼び出しを決定します。これは、C++ のいわゆる静的多態性です。
C++ には、仮想関数、継承、およびポインター メカニズムを通じて動的ポリモーフィズムを実装するオーバーライドもあります。これは、ランタイム クラスの仮想テーブルを通じて実装されます。
それは問題ではありません。 @伊仙さんの回答など。 , ただし、パラメーターがそれぞれ親型と子の型のポインターである場合は機能しません (参照は問題ありません)。
はい、たとえばこのコードです。
リーリー出力は
です リーリーはい、C++ のオーバーロードは、ソース ファイルをターゲット ファイルにコンパイルするときに関数名を変更することで実現されます。コンパイラーは、その関数を呼び出すときに渡されたパラメーターに基づいて呼び出しを決定します。これは、C++ のいわゆる静的多態性です。
C++ には、仮想関数、継承、およびポインター メカニズムを通じて動的ポリモーフィズムを実装するオーバーライドもあります。これは、ランタイム クラスの仮想テーブルを通じて実装されます。
それは問題ではありません。 @伊仙さんの回答など。 ,
ただし、パラメーターがそれぞれ親型と子の型のポインターである場合は機能しません (参照は問題ありません)。