Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.10.2012, 21:06   #1
alex1001
Пользователь
 
Регистрация: 02.01.2012
Сообщений: 16
По умолчанию c++ перегрузка опраций

не могу понять как перегрузить функцию istream так чтобы элементы класса вводились через запятую?
Код:
friend istream& operator>>(istream &t,  sport &r)

istream& operator>>(istream &t, sport &r)
{
	t >>r.name>>r.god>>r.Mrec;
	return t;
}
alex1001 вне форума Ответить с цитированием
Старый 30.10.2012, 23:22   #2
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Что значит - "вводились через запятую"? Можете объяснить, как должна себя вести программа?
И какие типы имеют name, god и Mrec?
Abstraction вне форума Ответить с цитированием
Старый 31.10.2012, 18:14   #3
alex1001
Пользователь
 
Регистрация: 02.01.2012
Сообщений: 16
По умолчанию

class<sport>{
char name;//вид спорта
long god;//когда появился
double Mrec;};// мировой рекорд

я перегрузил опрератор >> "istream" , но в моей программе чтоб ввести переменную типа sport надо каждый элемент:name,god,Mrec ,вводить как отдельную строку через enter . как сделать так чтобы это все вводилось в одну строку где каждый элемент отделялся запятой?
alex1001 вне форума Ответить с цитированием
Старый 31.10.2012, 18:20   #4
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

1) Вы уверены, что вид спорта описывается ОДНИМ символом?
2) std::cin, насколько помню, такого не умеет. Читайте строку и разбивайте её по запятым самостоятельно.
Abstraction вне форума Ответить с цитированием
Старый 31.10.2012, 18:37   #5
alex1001
Пользователь
 
Регистрация: 02.01.2012
Сообщений: 16
По умолчанию

1) нет , он считывает сьолько символов сколько введу:
char* name;
~sport{delete name[];}
2)спасибо, пойду пробовать!
alex1001 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перегрузка в С++ cj_loman Помощь студентам 0 19.05.2011 04:54
Перегрузка + Blad47 Помощь студентам 4 21.03.2011 01:49
Перегрузка (С++) RodionL3 Помощь студентам 1 22.04.2010 10:48
перегрузка DRELORD Помощь студентам 1 22.04.2010 09:54
Перегрузка ++ counter Общие вопросы C/C++ 3 20.12.2008 13:30