ホームページ >コンピューターのチュートリアル >コンピュータ知識 >C で関数のオーバーロードを説明する方法
プログラム内で 2 つの関数を定義するとします: String test(String str1) と int test1(int i) それらの内容は非常に単純な関数です
文字列テスト(文字列 str1){
Response.Write("関数のオーバーロード テスト、これは文字列関数です");
「123232」を返します;
}
int テスト(int i){
Response.Write("関数のオーバーロード テスト、これは int 関数です");
###戻る###1;
}
test ("Tofu") と test (888) を呼び出すと、コンパイラはエラーを報告しないだけでなく、次のような異なる結果を実行します。
関数のオーバーロードは、プログラミング プロセスに大きな利便性をもたらします。パラメーターの変更に応じて、コンパイラーに異なるコードの実行を決定させることができます。そしてこれも
ですオブジェクト指向プログラミングの主な機能の 1 つ。 MS は、ASP.Net が将来の Web プログラミングの標準になることを本当に望んでいると思います。
c 関数のオーバーロード
#「string.h」を含める
#n を定義 3
{
###公共:### ###ベクター(){}###
int max(int z[]){
int maxNumber=z[0];
for(int i=0;i {
if (maxNumber
最大番号を返す;
}
double max(double z[])
if (maxNumber
最大番号を返す;
}
long max(long z[])
if (maxNumber
最大番号を返す;
}
float max(float z[])
if (maxNumber
最大番号を返す;
}
char* max(char z[3][10])
if(strlen(maxNumber)
最大番号を返す;
strcpy(maxVector,vt.max(a5));
while(maxVector[i]!='\0')
{
cout
}cout }
c のクラス テンプレートのオーバーロードされた関数に関する質問
/*
コード内
T_counter& 演算子 =(T_counter x)
{
*this を返す;
}
T_counter& 演算子 (T_counter x)
{
this->data =x.data;
*this を返す;
};
c=a b; を実行すると、c は a b の値になり、a も a b の値になります。
*/
//コードを次のように変更して試してください
####含む###
名前空間 std を使用します;###テンプレート###
クラス T_カウンター{
###公共:###
T_counter(ta=0){
データ=a;
}
T_counter& 演算子 =(T_counter x)
{
this->data=x.data;
*this を返す;
}
T_counter 演算子 (T_counter x)
{
T_カウンターy;
y.data=this->データ x.data;
yを返す;
}
T_counter 演算子 -(T_counter x)
{
T_カウンターy;
y.data=this->data-x.data;
yを返す;
}
T_counter 演算子 *(T_counter x)
{
T_カウンターy;
y.data=this->data*x.data;
yを返す;
}
友人のストリームとオペレーター{
ウォカリターンウォカ;
}
友達の istream & オペレーター >>(istream &input,T_counter & x)
{
cin>>x.data;
入力を返す;
}
t getdata()
{
これを返す->データ;
}
###プライベート:###
t データ;};
int main()
{
T_カウンター a(5.9),b(6.6),c(0);
coutc=a b;
coutc=(a-b);
coutc=a*b;
coutcoutcin>>c;
coutsystem(「一時停止」);
0を返す;
}
以上がC で関数のオーバーロードを説明する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。