努力しないでどこの成功のC++のリロード演算子とリロード関数の紹介
971 ワード
実際には、C++リロード演算子とリロード関数の使用が重要な場合が多いので、次の例で使用方法を説明します.
C++では、同じ役割ドメイン内の関数と演算子に複数の定義を指定できます.それぞれ、関数リロードと演算子リロードと呼ばれます.
リロード宣言とは、以前にこの役割ドメインで宣言された関数またはメソッドと同じ名前の宣言ですが、パラメータのリストと定義(実装)が異なります.
リロード関数またはリロード演算子を呼び出すと、コンパイラは使用するパラメータタイプを定義のパラメータタイプと比較することで、最適な定義を選択することを決定します.最適なリロード関数またはリロード演算子を選択するプロセスを、リロード決定と呼びます.
C++の関数リロード
同じ役割ドメインでは、いくつかの機能が似ている同名関数を宣言できますが、これらの同名関数の形式パラメータ(パラメータの個数、タイプ、または順序を指す)は異なる必要があります.戻りタイプの違いだけで関数を再ロードすることはできません.
次の例では、同じ名前の関数print()を使用して、異なるデータ型を出力します.
C++では、同じ役割ドメイン内の関数と演算子に複数の定義を指定できます.それぞれ、関数リロードと演算子リロードと呼ばれます.
リロード宣言とは、以前にこの役割ドメインで宣言された関数またはメソッドと同じ名前の宣言ですが、パラメータのリストと定義(実装)が異なります.
リロード関数またはリロード演算子を呼び出すと、コンパイラは使用するパラメータタイプを定義のパラメータタイプと比較することで、最適な定義を選択することを決定します.最適なリロード関数またはリロード演算子を選択するプロセスを、リロード決定と呼びます.
C++の関数リロード
同じ役割ドメインでは、いくつかの機能が似ている同名関数を宣言できますが、これらの同名関数の形式パラメータ(パラメータの個数、タイプ、または順序を指す)は異なる必要があります.戻りタイプの違いだけで関数を再ロードすることはできません.
次の例では、同じ名前の関数print()を使用して、異なるデータ型を出力します.
#include
using namespace std;
class printData
{
public:
void print(int i) {
cout << " : " << i << endl;
}
void print(double f) {
cout << " : " << f << endl;
}
void print(char c[]) {
cout << " : " << c << endl;
}
};
int main(void)
{
printData pd;
//