@famousman204

Как правильно перегрузить оператор ввода?

Добрый вечер!
Код такой:
istream&	operator>>(istream &stream, Rational &obj)
{
	int f;
	int l;
	stream >> f;
	stream.ignore(1);
	stream >> l;
	obj = {f, l};
	return stream;
}

int    main()
{
		istringstream input("5/7 10/8");
		Rational r1, r2;
		input >> r1 >> r2;
		bool correct = r1 == Rational(5, 7) && r2 == Rational(5, 4);
		if (!correct) {
			cout << "Multiple values are read incorrectly: " << r1 << " " << r2 << endl;
			return 4;
		}
}


Вообщем на тесте, вылетает в ошибку. Как подправить, чтобы можно было вводить больше одного объекта за раз?
  • Вопрос задан
  • 63 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
АвтоЗС Набережные Челны
от 30 000 до 35 000 ₽
от 150 000 до 220 000 ₽
26 окт. 2020, в 10:18
50000 руб./за проект
26 окт. 2020, в 10:08
5000 руб./за проект
26 окт. 2020, в 09:51
3000 руб./за проект