関数のオーバーロードを使用します

オーバーロード機能

1:オーバーロードされた関数とは何ですか?

オーバーロードされた関数は、同じ関数名を用いて、二つ以上の機能を意味するが、異なる数またはタイプパラメータ、最良マッチングパラメータ引数とコールの種類及び数に応じてコンパイラが自動的に決定しますこれは一つの関数をオーバーロードされる関数、。

2:どのような使用のオーバーロードされた機能はありますか?

我々は、すべてのアクションで通常の言語は、例えばなどの異なるもの、消しゴムの多くを表現するために使用することができます知っている、テーブルを拭くために言うことができる、あなたの靴上など、アクション、Cに似た機能を持つがあり++で、実際には、そこにある、それが機能をオーバーロードされず、以前の例を示し、この機能が消去され、それがさまざまなデータ型を扱うことができ、我々は異なる機能のものとすることができるようにプログラムを作るました同じ関数名が与えられると、コンピュータは自動的に引数2コンパイル時の種類と数に応じて特定の機能に一致します。

3:オーバーロード関数を達成するために

例えば次の例

#include<iostream>
using namespace std;
int abc(int a, int b)
{
    int sum;
    sum = a + b;
    return sum;
}
float abc(float a, float b)
{
    float sum;
    sum = a + b;
    return sum;
}

ここでは、関数は2つを取る定義しますが、よく見ると、2つの関数が同じ関数名を持っていますが、遊んで、様々なタイプの変数の関数で、最初の関数は値が加算されつつあり、二つ目は、我々は完全なコードを見に行ってきましたので、これは実際にはオーバーロード関数の定義で、浮動小数点数の合計です。

#include<iostream>
using namespace std;
int abc(int a, int b)
{
    int sum;
    sum = a + b;
    return sum;
}
float abc(float a, float b)
{
    float sum;
    sum = a + b;
    return sum;
}
void main()
{
    int a, b;
    float c, d;
    double sum1,sum2;
    cout << "请输入abcd的值" << endl;
    cin >> a  >> b  >> c  >> d;
    sum1 = abc(a, b);
    sum2 = abc(c , d);
    cout <<"a和b的合为"<< sum1 << endl<<"c和d的合为" << sum2 << endl;
}

示されているように、私は、我々は結果を見て、しませんでしたその声明を持つ4つのプラスチックの値と浮動小数点数と通話機能を定義しますが、直接、同じ機能の関数名を呼び出します

私たちは、関数を呼び出すときに、それがコンピュータ上で使用されているが、同じ関数名を参照してくださいますが、独自のデータ・タイプの結果と機能をオーバーロードされ、最も密接に計算することが一致したオーバーロード関数における裁判官の機能を、見つけることができます

4関数のオーバーロードを使用して回避することが可能な問題のどのような種類

だから、オーバーロードされた関数は、関数あなたは計算のデータ型のさまざまなを解決することができますので、自動マッチングシステムは、多くのプリセット機能を解決するために使用することができるので、より多くのトラブルは、あなたが、悪いコールやその他の問題をコールのオーバーロード、そして、すべての問題を解決することができます。

おすすめ

転載: www.cnblogs.com/bjfybjn/p/11521149.html