-1

プログラマーがオーバーロードされた関数に対して異なる呼び出しを作成する必要がある場合、なぜプログラマーは関数の呼び出しに異なる名前を使用してはならないのか疑問に思っています。例えば。関数のオーバーロードを使用した領域関数は、

area(int a){ cout<< " area of square"<< a*a; }

area( int a, int b) { cout<< " area of rectangle"<< a*b; }

上記のオーバーロードされた関数の代わりに、areaSquare と areaRectangle を書くことができます。

では、なぜ関数のオーバーロードが必要なのでしょうか。

4

2 に答える 2

1

1 つのアクションに対して意味のあるさまざまな名前を見つけるのが難しい場合があるためです。

たとえば、 function について考えてabsみてください。本当にこれが必要ですか。

int    abs_int   (int    x);
float  abs_float (float  x);
double abs_double(double x);

またはこれ:

int    abs(int    x);
float  abs(float  x);
double abs(double x);

それはあなた次第です、それらの1つを選択してください。

于 2013-05-25T09:35:01.157 に答える