求教cin,请看内容

freeC 2013-11-24 10:38:09
一般一个类A,里面可能去重载<<和>>,调用的时候都是A a; cin>>a,cout<<a<<endl;
现在要实现
a>>int(整形)
a>>string
这个要怎么去实现呢,把a替换掉cin,求教如何实现。谢谢
...全文
195 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
freeC 2013-11-25
  • 打赏
  • 举报
回复
引用 5 楼 lg1544650023 的回复:
修改了一下,可能这样更像是输入
#include <iostream>
#include <fstream>
#include <string>
using namespace std;

class A{
public:
	void operator>>(int &i){
		cin >> i;
	}
};

int main()
{
	A a;
	int i;
	a >> i;
	cout << i << endl;
	return 0;
}
嗯,应该是这样的,谢谢两位
sleeplacker 2013-11-25
  • 打赏
  • 举报
回复
修改了一下,可能这样更像是输入
#include <iostream>
#include <fstream>
#include <string>
using namespace std;

class A{
public:
	void operator>>(int &i){
		cin >> i;
	}
};

int main()
{
	A a;
	int i;
	a >> i;
	cout << i << endl;
	return 0;
}
freeC 2013-11-25
  • 打赏
  • 举报
回复
引用 3 楼 Adol1111 的回复:
[quote=引用 2 楼 najiutan 的回复:] [quote=引用 1 楼 huangsir2011 的回复:] 这不是操作符的重载吗?重载<<操作符啊,具体的看看c++ primer写的很详细啊。
我刚刚翻了,没找到,重载操作符调用的时候还是cin>>a cout<<a;没有a>>obj,a<<obj,obj可以是int string等等各种类型[/quote] 谁说一定要cin的?
class A{
public:
	void operator>>(int i){
		cout<<i<<endl;
	}
};

int main()
{
	A a;
	a>>10;
	return 0;
}
用cin、cout不过是想要输入输出而已,和可不可以是两码事。[/quote] 总感觉这种函数没任何作用啊,如果按这种重载>>,就是一个赋值操作,根本都没用上从IO输入,输入是数字已经用传入的参数代替了
Adol1111 2013-11-24
  • 打赏
  • 举报
回复
引用 2 楼 najiutan 的回复:
[quote=引用 1 楼 huangsir2011 的回复:] 这不是操作符的重载吗?重载<<操作符啊,具体的看看c++ primer写的很详细啊。
我刚刚翻了,没找到,重载操作符调用的时候还是cin>>a cout<<a;没有a>>obj,a<<obj,obj可以是int string等等各种类型[/quote] 谁说一定要cin的?
class A{
public:
	void operator>>(int i){
		cout<<i<<endl;
	}
};

int main()
{
	A a;
	a>>10;
	return 0;
}
用cin、cout不过是想要输入输出而已,和可不可以是两码事。
freeC 2013-11-24
  • 打赏
  • 举报
回复
引用 1 楼 huangsir2011 的回复:
这不是操作符的重载吗?重载<<操作符啊,具体的看看c++ primer写的很详细啊。
我刚刚翻了,没找到,重载操作符调用的时候还是cin>>a cout<<a;没有a>>obj,a<<obj,obj可以是int string等等各种类型
小塔-皂荚花 2013-11-24
  • 打赏
  • 举报
回复
这不是操作符的重载吗?重载<<操作符啊,具体的看看c++ primer写的很详细啊。

64,637

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧