C中函數的重載怎麼解釋

王林
發布: 2024-01-12 11:36:04
轉載
1184 人瀏覽過

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
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板