你可以再举个例子吗?最好是有重载的完整的程序,讲讲那用了重载,那个重载时怎么用出来的,有啥作用。
1个回答
展开全部
参数类型上不同的重载函数
#include <iostream.h>
int add(int, int);
double add(double, double);
void main()
{
std::cout<<add(5, 10)<<std::endl;
std::cout<<add(5.0, 10.5)<<std::endl;
}
int add(int x, int y)
{
return x+y;
}
double add(double a, double b)
{
return a+b;
}
该程序中,main()函数中调用相同名字add的两个函数,前边一个add()函数对应的是两个int型数求和的函数实现,而后边一个add()函数对应的是两个double型数求和的函数实现。这便是函数的重载。
以上程序输出结果为:
15
15.5
参数个数上不同的重载函数
#include <iostream>
int min(int a, int b);
int min(int a, int b, int c);
int min(int a, int b, int c, int d);
int main(void)
{
cout<<min(13, 5, 4, 9)<<endl;
cout<<min(-2, 8, 0)<<endl;
}
int min(int a, int b)
{
return a<b?a:b;
}
int min(int a, int b, int c)
{
int t = min(a, b);
return min(t,c);
}
int min(int a, int b, int c, int d)
{
int t1 = min(a, b);
int t2 = min(c, d);
return min(t1, t2);
}
#include <iostream.h>
int add(int, int);
double add(double, double);
void main()
{
std::cout<<add(5, 10)<<std::endl;
std::cout<<add(5.0, 10.5)<<std::endl;
}
int add(int x, int y)
{
return x+y;
}
double add(double a, double b)
{
return a+b;
}
该程序中,main()函数中调用相同名字add的两个函数,前边一个add()函数对应的是两个int型数求和的函数实现,而后边一个add()函数对应的是两个double型数求和的函数实现。这便是函数的重载。
以上程序输出结果为:
15
15.5
参数个数上不同的重载函数
#include <iostream>
int min(int a, int b);
int min(int a, int b, int c);
int min(int a, int b, int c, int d);
int main(void)
{
cout<<min(13, 5, 4, 9)<<endl;
cout<<min(-2, 8, 0)<<endl;
}
int min(int a, int b)
{
return a<b?a:b;
}
int min(int a, int b, int c)
{
int t = min(a, b);
return min(t,c);
}
int min(int a, int b, int c, int d)
{
int t1 = min(a, b);
int t2 = min(c, d);
return min(t1, t2);
}
来自:求助得到的回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询