C++の関数オーバーロードの場合には、どのような状況が起こりますか?
関数のオーバーロードとは、同じスコープ内で関数名は同じでも引数リストが異なる場合を指します。C++の関数のオーバーロードのケースには、以下のようなものがあります:
- 引数の数が異なる。
- 引数の種類が異なる
- パラメータの順序が異なる
- 定数constと非定数constのパラメータ
- 引用型パラメータ
- ポインタ型のパラメータ
上記の状況の組み合わせにより、関数のオーバーロードを実現することができます。ただし、関数の戻り値の型は関数のオーバーロードに影響を与えません。重複するかどうかは引数リストのみに影響します。