C++ 运算符重载小练习while(os>>m>>n)
4:你真的搞清楚为啥 while(cin >> n) 能成立了吗?查看提交统计提问总时间限制: 1000ms 内存限制: 65536kB// 在此处补充你的代码描述读入两个整数,输出两个整数 ,直到碰到-1#include <iostream>using namespace std;class MyCin{}...
·
4:你真的搞清楚为啥 while(cin >> n) 能成立了吗?
总时间限制:
1000ms
内存限制:
65536kB
// 在此处补充你的代码
描述
读入两个整数,输出两个整数 ,直到碰到-1
#include <iostream> using namespace std; class MyCin {
}; int main() { MyCin m; int n1,n2; while( m >> n1 >> n2) cout << n1 << " " << n2 << endl; return 0; }
输入
多组数据,每组一行,是两个整数
输出
对每组数据,原样输出
当碰到输入中出现-1 时,程序结束
输入中保证会有 -1
样例输入
12 44 344 555 -1 2 3
样例输出
12 44 344 555
说实话这道题目有点难,>>不是一个输入的重载,而只是一个状态的重载,还需要重载bool ()
#include <iostream>
using namespace std;
class MyCin
{
private:
bool status;
public:
MyCin():status(true){}
MyCin & operator >>(int & n)
{
if (!status)
return *this;
cin >> n;
if (n == -1)
status = false;
}
operator bool()
{
return status;
}
};
int main()
{
MyCin m;
int n1, n2;
while (m >> n1 >> n2)
cout << n1 << " " << n2 << endl;
return 0;
}

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。
更多推荐
所有评论(0)