首頁  >  文章  >  電腦教學  >  C中函數的重載怎麼解釋

C中函數的重載怎麼解釋

王林
王林轉載
2024-01-12 11:36:041135瀏覽

C中函數的重載怎麼解釋

假設我們在程式中定義了兩個函數:String test(String str1) 而後 int test1(int i),他們的內容都是很簡單的功能

String test(String str1){

Response.Write("函式重載測試,這個是String函式");

Return "123232";

}

int test(int i){

Response.Write("函式重載測試,這個是int函式");

Return

1;

}

當我們呼叫 test("豆腐") 和 test(888),編譯器非但不會報錯,而且會執行出不同的結果,這樣。

函數重載為我們在程式設計的過程中帶來了很大的方便,我們可以由編譯器來決定根據我們參數的變化相應的執行不同的程式碼。而且 這個也是

物件導向程式設計的一個主要的特色之一。相信MS的確想讓ASP.Net成為Web未來程式設計的規範。

c函數重載

初始化你隨便改,注意把全域變數也改下,陣列長度你可以自行改。字串大小不知道是不是就是最長的那個,我是這麼做的,如果是比較ASCII碼大小,換個函數就好了,思路是相似的。

#include

#include "string.h"

#define n 3

class Vector

{

public:

Vector(){}

int max(int z[])

{

int maxNumber=z[0];

for(int i=0;i

{

if (maxNumber

}

return maxNumber;

}

double max(double z[])

{

double maxNumber=z[0];

for(int i=0;i

{

if (maxNumber

}

return maxNumber;

}

long max(long z[])

{

long maxNumber=z[0];

for(int i=0;i

{

if (maxNumber

}

return maxNumber;

}

float max(float z[])

{

float maxNumber=z[0];

for(int i=0;i

{

if (maxNumber

}

return maxNumber;

}

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

{

char maxNumber[10];

strcpy(maxNumber,z[0]);

for(int i=0;i

{

if(strlen(maxNumber)

}

return maxNumber;

}

};

void main()

{

Vector 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]={"I","love","china"};

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& operator =(T_counter x)

{

this->data=x.data;

#return *this;

}

T_counter& operator (T_counter x)

{

this->data =x.data;

#return *this;

};

如果運行 c=a b;則c是a b的值,a也是a b的值了!

*/

//把程式碼改成下面這樣試試看

#include

using namespace std;

template

class T_counter

{

public:

T_counter(t a=0)

{

data=a;

}

T_counter& operator =(T_counter x)

{

this->data=x.data;

#return *this;

}

T_counter operator (T_counter x)

{

T_counter y;

y.data=this->data x.data;

return y;

}

T_counter operator -(T_counter x)

{

T_counter y;

y.data=this->data-x.data;

return y;

}

T_counter operator *(T_counter x)

{

T_counter y;

y.data=this->data*x.data;

return y;

}

friend ostream & operator{

wocareturn woca;

}

friend istream & operator >>(istream &input,T_counter & x)

{

cin>>x.data;

return input;

}

t getdata()

{

return this->data;

}

private:

t data;

};

int main()

{

T_counter a(5.9),b(6.6),c(0);

coutc=a b;

coutc=(a-b);

coutc=a*b;

coutcoutcin>>c;

#coutsystem("pause");

return 0;

}

以上是C中函數的重載怎麼解釋的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:docexcel.net。如有侵權,請聯絡admin@php.cn刪除