商城首页欢迎来到中国正版软件门户

您的位置:首页 > 软件教程 >解释C语言中的函数重载

解释C语言中的函数重载

  发布于2024-12-26 阅读(0)

扫一扫,手机访问

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<=n;i++)

{

if (maxNumber

}

return maxNumber;

}

double max(double z[])

{

double maxNumber=z[0];

for(int i=0;i<=n;i++)

{

if (maxNumber

}

return maxNumber;

}

long max(long z[])

{

long maxNumber=z[0];

for(int i=0;i<=n;i++)

{

if (maxNumber

}

return maxNumber;

}

float max(float z[])

{

float maxNumber=z[0];

for(int i=0;i<=n;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;

}

本文转载于:https://www.docexcel.net/show/24_142470.html 如有侵犯,请联系admin@zhengruan.com删除

热门关注