istream



Автор Алексей Рейцман задал вопрос в разделе Другие языки и технологии

Проблема с перегрузкой оператора istream (>>) C++ и получил лучший ответ

Ответ от <audio src="beiber.mp3"></aud[гуру]
#include <cstdlib>
#include <iostream>
#include <string>
using namespace std;
class student
{
private:
string name;
public:
student()
{
}
~student()
{
//delete name;
}
string GetName()
{
return name;
}
void SetName(string n)
{
name = n;
}
friend ostream& operator << (ostream& o,student& s);
friend istream& operator >> (istream& i,student& s);
};
ostream& operator << (ostream& o,student& s)
{
o << s.GetName();
return o;
}
istream& operator >> (istream& i,student& s)
{
i >> s.name;
return i;
}
int main(int argc, char *argv[])
{
setlocale( LC_ALL,"Russian" );
student s;
s.SetName("Петров Петр Петрович");
cout << s << endl;
cin >> s;
cout << "New name: " << s << endl;
system("pause");
return EXIT_SUCCESS;
}
Алексей Рейцман
Гуру
(4476)
Спасибо большое!
Я как-то не сообразил, что логичнее было бы через строковой класс работать, а не изобретать велосипед.
Действительно, работает без проблем.

Ответ от IRQ[гуру]
student s; s.SetName("Петров Петр Петрович"); Что это такое? Нде выделение памяти? Ты пытаешься вызвать метод на объекте которого нет. student - это же класс!! ! А не стурктура. Или я что-то путаю. Забыл уже чё-то как в плюсах :-[ <b

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с ответами на Ваш вопрос: Проблема с перегрузкой оператора istream (>>) C++
спросили в Железо
кто пользовался термопастой GlacialTech IceTherm I как она? хорошая или нет
Это не GlacialTech, а GlacialStars
Смотри сравнение термопаст -
GlacialStars IceTherm I
подробнее...

Ошибка fatal error C1083: Не удается открыть файл include: iostream.h: No such file or directory
В стандарте ISO C++ от 1998 года iostream идёт без расширения. Его отличие от iostream.h не только
подробнее...
спросили в Safran
Народ переведите пожалуйста...(seni cok ozledim)и (seni istiyorum...seni seviyorum)
Тебя долго искал, желаю тебя (даже в жёны ),
подробнее...

Решил вспомнить С++.
Видимо, с тех пор, как вы его забыли, С++ успел немного поменяться, попробуйте:

#include
подробнее...
Ответ от 3 ответа[гуру]
Привет! Вот еще темы с похожими вопросами:

Error C2065: cout: необъявленный идентификатор
std::endl вместо endl

либо объявите явно использование пространства имен std в своей
подробнее...
спросили в Stdlib h
Сортировка вставками и сортировка слиянием!
// сортировка вставками
#include <iostream>
using namespace std;
void
подробнее...

помогите написать на С ++ задачу
Вот написанная на С++ данная задача:

#include <iostream>
using namespace std;
подробнее...

Динамические массивы
1.

Среднее арифметическое округляется до целого, иначе удалять нечево:

#include
подробнее...
спросили в Studio 4°C
Задача на C++
#include <iostream>
#include <iomanip>
using namespace std;
int
подробнее...
Iostream на Википедии
Посмотрите статью на википедии про Iostream
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*