注册 登录
编程论坛 C++教室

关于一道简单的重载函数题目

shenyulv 发布于 2009-09-14 19:16, 1030 次点击
今天刚学的重载函数,书本上对重载函数的例子举得我是一头雾水,没明白讲的是什么,也没了解重载函数的重要之处,所以特别来请教一下重载函数是怎么回事。
例外,这里有一道题,请大家思考一下:编写重载函数max1可分别求取2个整数,3个整数,2个双精度数,3个双精度数的最大值。对于我来说蛮难的,我现在正在想呢,各位大哥大姐能不能帮我解了这道题哈。谢谢了[em2]
5 回复
#2
智奇CC2009-09-14 21:28
重载函数简单来说就是函数名相同,而参数的个数不同或者参数类型不同!!这样说应该明白了吧?!
#3
shenyulv2009-09-15 11:38
回复 2楼 智奇CC
这样哈。。。。。
#4
flyingcloude2009-09-15 12:49
以下是引用智奇CC在2009-9-14 21:28的发言:

重载函数简单来说就是函数名相同,而参数的个数不同或者参数类型不同!!这样说应该明白了吧?!
重载函数差不多就这个意思

你所说的题目的代码如下:

#include<iostream>
using namespace std;

//函数重载
//求取2个整数的最大值
int max(int x1,int x2)
{
    return x1>x2?x1:x2;
}

//求取3个整数的最大值
int max(int x1,int x2,int x3)
{
    return max(x1,x2)>x3?max(x1,x2):x3;
}

//求取2个双精度数的最大值
double max(double d1,double d2)
{
    return d1>d2?d1:d2;
}

//求取3个双精度数的最大值
double max(double d1,double d2,double d3)
{
    return max(d1,d2)>d3?max(d1,d2):d3;
}


void main()
{
    int x1=1,x2=2,x3=3;
    cout<<max(x1,x2)<<'\n';
    cout<<max(x1,x2,x3)<<'\n';

    double d1=2.5,d2=3.5,d3=4.5;
    cout<<max(d1,d2)<<'\n';
    cout<<max(d1,d2,d3)<<'\n';
}
#5
newCpp2009-09-15 17:43
不知道,对函数参数有啥要求吗?
就函数重载而言!
#6
shenyulv2009-09-16 12:18
回复 4楼 flyingcloude
谢谢了
1