C で関数のオーバーロードを説明する方法

王林
リリース: 2024-01-12 11:36:04
転載
1184 人が閲覧しました

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 関数のオーバーロード

初期化は自由に変更できますが、グローバル変数の変更にも注意してください。配列の長さは自分で変更できます。文字列のサイズが最長かどうかはわかりませんが、私がやったのはこれで、ASCII コードのサイズを比較する場合は関数を変更するだけです。考え方は似ています。 ####含む ######

#「string.h」を含める

#n を定義 3

クラスベクトル

{

###公共:### ###ベクター(){}###

int max(int z[])

{

int maxNumber=z[0];

for(int i=0;i {

if (maxNumber }

最大番号を返す;

}

double max(double z[])

{

double maxNumber=z[0];

for(int i=0;i

{

if (maxNumber }

最大番号を返す;

}

long max(long z[])

{

long maxNumber=z[0];

for(int i=0;i

{

if (maxNumber }

最大番号を返す;

}

float max(float z[])

{

float maxNumber=z[0];

for(int i=0;i

{

if (maxNumber }

最大番号を返す;

}

char* max(char z[3][10])

{

char maxNumber[10];

strcpy(maxNumber,z[0]);

for(int i=0;i

{

if(strlen(maxNumber) }

最大番号を返す;

}

};

void main()

{

ベクトルvt;

int a1[3]={1,3,2};

double a2[3]={2.5,7.8,9.3};

long a3[3]={1000,5677,3456};

float a4[3]={1.5f,5.7f,3.8f};

char a5[3][10]={「私」、「愛」、「中国」};

char maxVector[10]={0};

cout

cout

cout cout int i=0;

strcpy(maxVector,vt.max(a5));

while(maxVector[i]!='\0')

{

cout

}

cout }

c のクラス テンプレートのオーバーロードされた関数に関する質問

/*

コード内

T_counter& 演算子 =(T_counter x)

{

this->data=x.data;

*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 サイトの他の関連記事を参照してください。

ソース:docexcel.net
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート