C ++での関数のオーバーロードとオーバーライド
コンテンツ
C ++での関数のオーバーロードとオーバーライドの主な違いは、C ++での関数のオーバーロードはコンパイル時のポリモーフィズムであるのに対し、C ++でのオーバーライドはランタイムのポリモーフィズムであるということです。
複数のフォームとタイプに1つの名前を使用することをポリモーフィズムと呼びます。多態性は、オブジェクト指向プログラミングの最も重要な概念の1つです。オーバーロード、オーバーライド、および仮想関数を機能させるポリモーフィズムを実装する方法は多数あります。 C ++での関数のオーバーロードはコンパイル時のポリモーフィズムですが、C ++でのオーバーライドはランタイムのポリモーフィズムです。
オーバーロードは、コンパイルされた時間ポリモーフィズムです。オーバーロードは、複数のメソッドに共通のインターフェースを提供します。平均コードのオーバーロードには、再定義中に同じ関数名が含まれます。オーバーロードにより、1つのオーバーロードされた関数が他の関数と異なります。オーバーロード関数にはさまざまなパラメーターがあります。
ランタイムポリモーフィズムは、オーバーライドとして知られています。オーバーライドは、仮想の関数キーワードを使用して実現されます。このキーワードは基本クラスで使用されます。派生クラスが関数を再定義する場合、オーバーライドされた関数は変更できません。 C ++でオーバーライドすると、どのバージョンの関数が呼び出されるかが決まります。
内容:C ++での関数のオーバーロードとオーバーライドの違い
- 比較表
- 過負荷
- オーバーライド
- 主な違い
- 結論
- 説明ビデオ
比較表
基礎 | 過負荷 | オーバーライド |
意味 | C ++での関数のオーバーロードはコンパイル時のポリモーフィズムです | C ++での関数のオーバーライドは、実行時のポリモーフィズムです。
|
キーワード | オーバーロードには特定のキーワードがあります | 「仮想」は、機能のオーバーライドにおける特定のキーワードです。 |
達成 | 関数のオーバーロードでは、コンパイル時の成果があります。 | 関数のオーバーライドでは、実行時の成果があります。 |
バインディング | 関数のオーバーロードでは、早期バインディングがあります | 関数のオーバーライドでは、遅延バインディングがあります |
過負荷
オーバーロードは、コンパイルされた時間ポリモーフィズムです。オーバーロードは、複数のメソッドに共通のインターフェースを提供します。平均コードのオーバーロードには、再定義中に同じ関数名が含まれます。オーバーロードにより、1つのオーバーロードされた関数が他の関数と異なります。オーバーロード関数にはさまざまなパラメーターがあります。
オーバーライド
ランタイムポリモーフィズムは、オーバーライドとして知られています。オーバーライドは、仮想の関数キーワードを使用して実現されます。このキーワードは基本クラスで使用されます。派生クラスが関数を再定義するとき、オーバーライドされた関数は変更できません。 C ++でオーバーライドすると、どのバージョンの関数が呼び出されるかが決まります。
主な違い
- C ++での関数のオーバーロードはコンパイル時のポリモーフィズムですが、C ++での関数のオーバーライドは実行時です
- オーバーロードには特定のキーワードがありますが、「仮想」は機能オーバーライドの特定のキーワードです。
- 関数のオーバーロードではコンパイル時の成果があり、関数のオーバーライドではランタイムがあります
- 関数のオーバーロードには事前バインディングがあり、関数のオーバーライドにはレイトバインディングがあります
結論
上記の記事では、関数のオーバーロードと関数のオーバーライドの明確な違いを例で示しています。