【发布时间】:2015-08-29 13:22:17
【问题描述】:
我正在对标准 I/O 做一些练习 我有一个复杂的课程。我的班级重载了插入和提取运算符,输入应为: x + yi(例如 10 + 9i) 我必须确定输入是否有效。 有问题,如果我以这种形式输入结果总是一个失败位, 因为我正在将 char 'i' 输入到整数数据类型。 那么我怎么能做到这一点,而不会失败呢? 我的功能是这样的:
istream &operator>>(istream &input, Complex &complex)
{
input >> complex.realPart;
input.ignore(3);
input >> complex.imaginaryPart;
return input;
}
但这显然是不够的!如果 i 和 integer 之间有一个空格,它可以解决所有问题。但是没有!我想过使用数组,甚至是字符串,但是然后将它们复制到我班级的 int 私有数据中,这似乎不是一个好的编程。我到底要寻找什么错误? 多谢 ! ;)
【问题讨论】:
-
不,复杂的没关系,I/O是我想学的,