Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Spirit370
1 / 1 / 4
Регистрация: 08.08.2013
Сообщений: 86
#1

Использование перегруженного оператора << - C++

16.07.2014, 21:29. Просмотров 310. Ответов 6
Метки нет (Все метки)


http://www.cyberforum.ru/cpp-beginners/thread702106.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.07.2014, 21:29
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Использование перегруженного оператора << (C++):

Вызов перегруженного оператора
В классе Ellipse есть перезагрузка, не могу ее вызвать в main вот само...

Странный вывод перегруженного оператора
Здравствуйте. Делаю цепочки вывода, но получается вот что: Почему выводится...

Указатель this внутри перегруженного оператора сложения
пишу класс Fraction для работы с дробными числами. Почему не допускает...

Возврат ссылки от функции перегруженного оператора
Здравствуйте, меня интересует вопрос, когда функция-член класса, к примеру...

Ошибка при вызове в switch перегруженного оператора
есть перегруженный оператор: std::istream&amp; operator&gt;&gt;(istream&amp; is, diagram&amp;...

6
zss
Модератор
Эксперт С++
6952 / 6514 / 4135
Регистрация: 18.12.2011
Сообщений: 17,178
Завершенные тесты: 1
16.07.2014, 21:42 #2
C++
1
2
3
4
5
6
7
friend  ostream& operator<<(ostream& os,Name_pairs& a)
    {
        for(int i = 0;i<a.name.size();i++)
        os << "Name -> " << a.name[i]  << 
        " Age -> " << a.age[i] << endl;
       return os;
    }
и пользоваться как обычно:
C++
1
cout<<group1;
1
Spirit370
1 / 1 / 4
Регистрация: 08.08.2013
Сообщений: 86
16.07.2014, 21:59  [ТС] #3
C++
1
friend  ostream& operator<<(ostream& os,Name_pairs& a)
Что за куча не знакомых слов(
0
zss
Модератор
Эксперт С++
6952 / 6514 / 4135
Регистрация: 18.12.2011
Сообщений: 17,178
Завершенные тесты: 1
16.07.2014, 22:25 #4
friend - функция не является членом класса, но имеет доступ к закрытой части.
ostream - класс вывода в поток.
Вроде все!
0
Tulosba
:)
Эксперт С++
4746 / 3240 / 496
Регистрация: 19.02.2013
Сообщений: 9,046
16.07.2014, 22:51 #5
const потерялся у выводимого типа:
C++
1
friend ostream& operator<<(ostream& os, const Name_pairs& a);
0
Spirit370
1 / 1 / 4
Регистрация: 08.08.2013
Сообщений: 86
17.07.2014, 00:26  [ТС] #6
А как использовать это за пределами класса?
если так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
class Name_pairs
{
private:
    vector<double> age;
    vector<string> name;
public:
    Name_pairs(){};
    void read_names();
    void read_ages();
    friend  ostream& operator<<(ostream& os,Name_pairs& a);
    void sort_this();
};
ostream& operator<<(ostream& os,Name_pairs& a)
{
for(int i = 0;i<a.name.size();i++)
{
        os << "Name -> " << a.name[i]  << 
        " Age -> " << a.age[i] << endl;
       return os;
}
то функция не имеет доступа к скрытым даннным
0
Tulosba
:)
Эксперт С++
4746 / 3240 / 496
Регистрация: 19.02.2013
Сообщений: 9,046
17.07.2014, 07:49 #7
Spirit370, для этого и пишут friend. Читайте внимательнее (сообщение #4)
0
17.07.2014, 07:49
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.07.2014, 07:49
Привет! Вот еще темы с решениями:

Шаблон класса и перегруженного оператора отказываются дружить
Всем привет! Помогите разобраться с шаблонами, не получается подружить шаблон...

Почему не вызывается ни конструктор копий, ни функция перегруженного оператора присвоения
Привет. Начал изучать C++, дошел до темы перегрузки операторов. И запарился на...

Синтаксическая ошибка при определении метода перегруженного оператора,за классом
Есть два класса. Point1 и Pointer1 Синтаксическая Ошибка в Pointer1.cpp в...

Ошибка при использовании перегруженного оператора вывода в поток: no match for 'operator<<'
Пытаюсь написать класс комплексных чисел, но не могу сделать вот что: #include...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru