找回密码
 注册
搜索
热搜: 回贴
  • 前程无忧官网首页 有什么好的平台可以
  • 最新的销售平台 互联网营销的平台有哪
  • 制作网页的基本流程 网页制作和网页设
  • 【帝国CMS】输出带序号的列表(数字排
  • 网站建设公司 三一,中联,极东泵车的
  • 织梦 建站 织梦网站模版后台怎么更改
  • 云服务官网 哪些网站有免费的简历模板
  • 如何建网站要什么条件 建网站要用什么
  • 吉林市移动公司电话 吉林省退休人员网
  • 设计类毕业论文 网站设计与实现毕业论
查看: 280|回复: 8

[求助]怎么改这道C++的题目谢谢拉

[复制链接]
发表于 2009-11-3 03:26:41 | 显示全部楼层 |阅读模式 IP:江苏扬州
怎么改这道C++的题目使T1和T2用不同的数据类型
#include<iostream>
#include<string>
using namespace std;
template<class T1,class T2>
class Pair
{
public:
Pair(T1 f,T2 s)
{
first=f;second=s;
}
void set(T1 f,T2 s)
{
first=f;second=s;
}
T1 getf()const
{
return first;
}
T2 gets()const
{
return second;
}
void swap()
{
T1 temp=first;
first=second;
second=temp;
}
private:
T1 first;
T2 second;

};
int main()
{
Pair<int,int> p(10,11);
cout<<p.getf()<<" "<<p.gets()<<endl;
p.set(9,12);
cout<<p.getf()<<" "<<p.gets()<<endl;
p.swap();
cout<<p.getf()<<" "<<p.gets()<<endl;
system("pause");
return 0;
}
发表于 2009-11-3 03:26:42 | 显示全部楼层 IP:江苏扬州
有个中间函数做类型转换
然后用那个函数来调用模块
回复

使用道具 举报

发表于 2009-11-3 03:26:43 | 显示全部楼层 IP:江苏扬州
void swap()
{
T1 temp=first;
first=second;
second=temp;
}这里需要类型转换.我是说如果是自己定义的类型的话,你的类里要写构造类型转换,或则类型转换函数
回复

使用道具 举报

发表于 2009-11-3 03:26:44 | 显示全部楼层 IP:江苏扬州
void swap()
{
set(second, first);
//T1 temp=first;
//first=second;
//second=temp;
}

会有数据失真
回复

使用道具 举报

发表于 2009-11-3 03:26:45 | 显示全部楼层 IP:江苏扬州
怎么会有丢失呢
set类型也是T 啊
要是有丢他们都要丢失呀
回复

使用道具 举报

发表于 2009-11-3 03:26:46 | 显示全部楼层 IP:江苏扬州
song4,

我是上海人, 我们不使用您称, 所以从这一点来讲, 我们要比北方人少一份虚伪.
我建议将您这个字眼从中文中删除, 看这就讨厌.

我用事实来说话. 请你试一下下面的代码:


程序代码:

#include<iostream>
#include<string>

using namespace std;

template<class T1,class T2>
class Pair
{
public:
Pair(T1 f,T2 s)
{
first=f;
second=s;
}
void set(T1 f,T2 s)
{
first=f;
second=s;
}
T1 getf()const
{
return first;
}
T2 gets()const
{
return second;
}
void swap()
{
set(second, first);
//T1 temp=first;
//first=second;
//second=temp;
}
private:
T1 first;
T2 second;

};

int main()
{
Pair<int,float> p(10, 3.4f);
p.swap();
cout<<p.getf()<<" "<<p.gets()<<endl;
system("pause");
return 0;
}
回复

使用道具 举报

发表于 2009-11-3 03:26:48 | 显示全部楼层 IP:江苏扬州
我们老师常用"您"跟我说话,所以我跟他说话也很不自在
就感觉我好象没有礼貌,所以以后我都会尽量用
但看来每个人都不一样,呵呵
回复

使用道具 举报

发表于 2009-11-3 03:26:50 | 显示全部楼层 IP:江苏扬州
那不就是要丢就全在swap里面丢么
Pair<float,float> p(10.2f, 3.4f);
改成这样不久不丢了
我是这个意思
回复

使用道具 举报

发表于 2009-11-3 03:26:52 | 显示全部楼层 IP:江苏扬州
哼, 这确实是个问题, 你的老师很不平易近人. 这种人少见为妙. 什么时候, 你把他的 Email 地址给我, 我来跟他谈谈.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )

GMT+8, 2024-9-30 13:21 , Processed in 0.223547 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表