所以我没有通过一个作业问题的简单输入测试。我要解析两个由空格分隔的整数。这两个整数用于我定义为类的 Rationalnumber 类型的私有成员 num 和 denom。我在这段代码中使用或遗漏了一些明显非常规的东西吗?此代码适用于我的所有测试。
std::istream &operator>>( std::istream &is, Rationalnumber &r ) {
Rationalnumber::in++; // increment counter
// get the num
string n;
getline(cin,n,' ');
stringstream ssnum(n);
ssnum >> r.num;
// get the denom
string d;
getline(cin,d,'\n');
stringstream ssdenom(d);
ssdenom >> r.denom;
return is;
}