C ++での関数のオーバーロードとオーバーライド

著者: Laura McKinney
作成日: 4 4月 2021
更新日: 5 5月 2024
Anonim
【プログラミング講座(C#)】第24回 オーバーロード、オーバーライドについて【独り言】
ビデオ: 【プログラミング講座(C#)】第24回 オーバーロード、オーバーライドについて【独り言】

コンテンツ

C ++での関数のオーバーロードとオーバーライドの主な違いは、C ++での関数のオーバーロードはコンパイル時のポリモーフィズムであるのに対し、C ++でのオーバーライドはランタイムのポリモーフィズムであるということです。


複数のフォームとタイプに1つの名前を使用することをポリモーフィズムと呼びます。多態性は、オブジェクト指向プログラミングの最も重要な概念の1つです。オーバーロード、オーバーライド、および仮想関数を機能させるポリモーフィズムを実装する方法は多数あります。 C ++での関数のオーバーロードはコンパイル時のポリモーフィズムですが、C ++でのオーバーライドはランタイムのポリモーフィズムです。

オーバーロードは、コンパイルされた時間ポリモーフィズムです。オーバーロードは、複数のメソッドに共通のインターフェースを提供します。平均コードのオーバーロードには、再定義中に同じ関数名が含まれます。オーバーロードにより、1つのオーバーロードされた関数が他の関数と異なります。オーバーロード関数にはさまざまなパラメーターがあります。

ランタイムポリモーフィズムは、オーバーライドとして知られています。オーバーライドは、仮想の関数キーワードを使用して実現されます。このキーワードは基本クラスで使用されます。派生クラスが関数を再定義する場合、オーバーライドされた関数は変更できません。 C ++でオーバーライドすると、どのバージョンの関数が呼び出されるかが決まります。

内容:C ++での関数のオーバーロードとオーバーライドの違い

  • 比較表
  • 過負荷
  • オーバーライド
  • 主な違い
  • 結論
  • 説明ビデオ

比較表

基礎過負荷オーバーライド
意味C ++での関数のオーバーロードはコンパイル時のポリモーフィズムです

C ++での関数のオーバーライドは、実行時のポリモーフィズムです。

 

キーワード オーバーロードには特定のキーワードがあります「仮想」は、機能のオーバーライドにおける特定のキーワードです。
達成 関数のオーバーロードでは、コンパイル時の成果があります。関数のオーバーライドでは、実行時の成果があります。
バインディング 関数のオーバーロードでは、早期バインディングがあります関数のオーバーライドでは、遅延バインディングがあります

過負荷

オーバーロードは、コンパイルされた時間ポリモーフィズムです。オーバーロードは、複数のメソッドに共通のインターフェースを提供します。平均コードのオーバーロードには、再定義中に同じ関数名が含まれます。オーバーロードにより、1つのオーバーロードされた関数が他の関数と異なります。オーバーロード関数にはさまざまなパラメーターがあります。


オーバーライド

ランタイムポリモーフィズムは、オーバーライドとして知られています。オーバーライドは、仮想の関数キーワードを使用して実現されます。このキーワードは基本クラスで使用されます。派生クラスが関数を再定義するとき、オーバーライドされた関数は変更できません。 C ++でオーバーライドすると、どのバージョンの関数が呼び出されるかが決まります。

主な違い

  1. C ++での関数のオーバーロードはコンパイル時のポリモーフィズムですが、C ++での関数のオーバーライドは実行時です
  2. オーバーロードには特定のキーワードがありますが、「仮想」は機能オーバーライドの特定のキーワードです。
  3. 関数のオーバーロードではコンパイル時の成果があり、関数のオーバーライドではランタイムがあります
  4. 関数のオーバーロードには事前バインディングがあり、関数のオーバーライドにはレイトバインディングがあります

結論

上記の記事では、関数のオーバーロードと関数のオーバーライドの明確な違いを例で示しています。

説明ビデオ