注册 登录
编程论坛 新人交流区

来看一看

vczxz 发布于 2007-10-29 22:55, 256 次点击
template <class T>
T max(T x,T y)
#include <iostream.h>
{
return(x>y)?(x):(y);
}
double max(double ,double);//重载了一个double类的函数为什么这一个题还是不能运行
void main()
{
int x=3,y=4;
long l=5;
double a=1.1,b=3.4;
cout<<max(x,y)<<endl;//调用int max(int ,int)
cout<<max(a,b)<<endl;//调用double max(double ,double)
cout<<max(l,a)<<endl;//调用double max(double ,double)
cout<<max(a,l)<<endl;//调用double max(double ,double)
cout<<max(x,l)<<endl;//调用double max(double ,double)
}
5 回复
#2
okdo992007-10-30 00:03
技术不够
帮不了你。。。
#3
wangtianhong2007-11-01 20:15

你知道什么是函数的重载吗?!

#4
cosdos2007-11-02 01:28
// max 函数定义
double max(double x,double y)
{
return (x > y ? x : y); // 比较double类型的绝对值更好
}

// C 中的宏定义是这样的
#define MAX(x,y) (X)>(Y)?(X):(Y)

// 不了解 C++,只知道C
#5
googleaw2007-11-02 02:03

宏定义

#6
vczxz2007-11-02 13:17
回复:(googleaw)宏定义
这不是宏定义,难到没有人懂模板重载吗?
这是一个自考c++课本上的一个例题,但是就是运行时有错,请那位高手指教一下。
1