| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 418 人关注过本帖
标题:急需解决
取消只看楼主 加入收藏
vczxz
Rank: 1
等 级:新手上路
帖 子:41
专家分:0
注 册:2007-10-27
收藏
 问题点数:0 回复次数:3 
急需解决
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)
}
会C++的人给我指点一个啊
我快发了一个月了

搜索更多相关主题的帖子: double max cout endl int 
2007-10-29 22:50
vczxz
Rank: 1
等 级:新手上路
帖 子:41
专家分:0
注 册:2007-10-27
收藏
得分:0 
听我说一句
我定义的模版是处理两个相同类型的数据,如果是double 和int那又怎办呢
所以我重载了一个double类型的函数 不知道大哥听说过隐式转换没有,如果像上题的long 和int类型的则调用重载double max(double ,double)(自考本科本上这么说的是刘振安主编的)自考本科书上在讲模板时这是一个例题,但是在vc++6.0上就是调不出来,一直报错为类型不想同。
我就是想搞清楚在模板这一知识点上有没有这一说法
这在自考书上这么看过,来请大家求证一下;
原题是这么说的一字不错:
template <class T>
T max(T x,T y)
{
return(x>y)?(x):(y);
}
double max(double ,double);//重载模板函数
//也可使用原型int max(int,int)
//只能从其中选择一个
#include "iostream.h"
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)
}
程序最后输出为:
4
3.4
5
5
5
2007-10-30 16:51
vczxz
Rank: 1
等 级:新手上路
帖 子:41
专家分:0
注 册:2007-10-27
收藏
得分:0 
,0,0,0" width="500" height="350">" />
2007-10-31 12:33
vczxz
Rank: 1
等 级:新手上路
帖 子:41
专家分:0
注 册:2007-10-27
收藏
得分:0 
怎么没有人说话啊

2007-10-31 12:35
快速回复:急需解决
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021736 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved