| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1659 人关注过本帖
标题:怎样实现输入任何类型的数据都能比较大小
只看楼主 加入收藏
唐兵
Rank: 2
来 自:四川泸州合江
等 级:论坛游民
帖 子:150
专家分:12
注 册:2012-12-1
结帖率:82.05%
收藏
已结贴  问题点数:20 回复次数:12 
怎样实现输入任何类型的数据都能比较大小
下面这个利用类模板只能实现字符串比较大小,我想实现输入任何类型的数据都能比较大小,请问怎样编啊
#include <iostream>
#include<string>
using namespace std;
template<class x>
class Compare
{public:
Compare(x q,x w)
{
    a=q,b=w;
}

x max()
{
   
    return(a>b?a:b );
}
    private:
        x a,b;
};
int main()
{
    Compare <string>d("qwee","arfg");

    cout<<"max is:"<<d.max()<<endl;
    return 0;
}
搜索更多相关主题的帖子: public include private 
2013-05-29 12:29
peach5460
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2780
专家分:6060
注 册:2008-1-28
收藏
得分:5 
任意类型?
整形?浮点?字符串?
比较规则呢?

我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2013-05-29 12:40
apull
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:三体星系
等 级:版主
威 望:216
帖 子:1506
专家分:9241
注 册:2010-3-16
收藏
得分:5 
内置类型你这个就可以用

    Compare <int>e(123,456);
    cout<<"max is:"<<e.max()<<endl;

如果是你自己定义的类型,需要重载 > 运算符。
2013-05-29 12:54
唐兵
Rank: 2
来 自:四川泸州合江
等 级:论坛游民
帖 子:150
专家分:12
注 册:2012-12-1
收藏
得分:0 
回复 2楼 peach5460
嗯,谢谢哈

一个人如果不比自己一把,你永远不知道自己究竟有多厉害
2013-05-30 22:36
唐兵
Rank: 2
来 自:四川泸州合江
等 级:论坛游民
帖 子:150
专家分:12
注 册:2012-12-1
收藏
得分:0 
回复 3楼 apull
嗯,可以用多态性吗?

一个人如果不比自己一把,你永远不知道自己究竟有多厉害
2013-05-30 22:38
peach5460
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2780
专家分:6060
注 册:2008-1-28
收藏
得分:0 
回复 4楼 唐兵
你只是想实现同类型的比较支持多类型
还是多类型可以混合比较?

同类型可以用模板

然后不管是同类型比还是混合比
都要用回调

我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2013-05-31 11:28
我有我梦
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:1
帖 子:321
专家分:1128
注 册:2013-5-25
收藏
得分:5 
http://bbs.bccn.net/skin/img/sigline.gif我十分赞成peach5460,要多思考!!!方法我同意2楼主!!!
2013-06-02 19:20
唐兵
Rank: 2
来 自:四川泸州合江
等 级:论坛游民
帖 子:150
专家分:12
注 册:2012-12-1
收藏
得分:0 
回复 6楼 peach5460
就是我想无论输入哪种类型都能比较,不管使用啥方法,能达到目的就行

一个人如果不比自己一把,你永远不知道自己究竟有多厉害
2013-06-03 16:25
RobinWang
Rank: 3Rank: 3
来 自:北京
等 级:论坛游侠
帖 子:69
专家分:121
注 册:2013-5-31
收藏
得分:5 
可以使用模板函数

将压抑的青春能量转化为改造中国的动力!
2013-06-03 21:16
peach5460
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2780
专家分:6060
注 册:2008-1-28
收藏
得分:0 
回复 8楼 唐兵
我想问的是
你所谓的无论哪种类型,在我看来有两种含义
1,比较的是同类型的,比如你可以比较int,比较string,比较double
但是要求进行比较的都是int,或者都是float
2,比较的是异类型,比如比较的数可以一边是int一边是string

第一种,直接用模板可以做得差不多...除了非POD类型,需要自己重载小于号
第二种,可以参照std::find之类的,让用户自己定义比较函数就行了

我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2013-06-04 09:24
快速回复:怎样实现输入任何类型的数据都能比较大小
数据加载中...
 
   



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

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