Форум программистов, компьютерный форум CyberForum.ru

Не работает перегрузка оператора ostream - C++

Восстановить пароль Регистрация
 
axicose
0 / 0 / 0
Регистрация: 04.12.2013
Сообщений: 25
06.12.2013, 02:54     Не работает перегрузка оператора ostream #1
в задаче перегрузил оператор ostream

C++
1
std::ostream & operator<<(std::ostream _o, const Tournament & _table);
в тестовой программке не работает, или я что-то делаю не так?

C++
1
2
3
4
5
6
7
8
#include "Tornament.h"
 
int main()
{ 
    Tournament Liga("Friends", 8);
//......
 
std::cout<<Liga;
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.12.2013, 02:54     Не работает перегрузка оператора ostream
Посмотрите здесь:

Перегрузка оператора [] C++
C++ перегрузка оператора []
C++ Шаблоны классов, перегрузка operator<< класса ostream
Перегрузка оператора << C++
vector<[class]> in class и перегрузка (ostream) C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
d1skort
20 / 20 / 0
Регистрация: 10.02.2013
Сообщений: 75
06.12.2013, 04:03     Не работает перегрузка оператора ostream #2
Сделай ее другом класса.
И реализацию показал бы.
axicose
0 / 0 / 0
Регистрация: 04.12.2013
Сообщений: 25
06.12.2013, 12:29  [ТС]     Не работает перегрузка оператора ostream #3
Цитата Сообщение от d1skort Посмотреть сообщение
Сделай ее другом класса.
И реализацию показал бы.


Tournament.h

C++
1
2
3
.....
public:
friend std::ostream & operator << (std::ostream & _o, const Tournament &_table);
Tournament.cpp

C++
1
2
3
4
5
6
7
8
9
10
std::ostream & operator<<(std::ostream _o, const Tournament & _table) 
{
    for (int i = 0; i< _table.m_tournament.size(); i++)
    {
        _o<<_table.m_tournament[i]->m_club->GetName()<<"\tPoints: "<<_table.m_tournament[i]->m_table->GetPoints()<<"\tPlayedMatches: "<<_table.m_tournament[i]->m_table->GetPlayedMatches()<<"\tWins: "<<_table.m_tournament[i]->m_table->GetWins()
            <<"\tDraws: "<<_table.m_tournament[i]->m_table->GetDraws()<<"\tLoses:"<<_table.m_tournament[i]->m_table->GetLoses()<<"\tScored: "<<_table.m_tournament[i]->m_table->GetScored()
            <<"\tMissed: "<<_table.m_tournament[i]->m_table->GetMissed()<<"\tAverage of goals: "<<_table.m_tournament[i]->m_table->GetScored() -_table.m_tournament[i]->m_table->GetMissed()<<std::endl;
    }
    return _o;
}
Jupiter
Каратель
Эксперт C++
6543 / 3963 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
06.12.2013, 12:33     Не работает перегрузка оператора ostream #4
Цитата Сообщение от axicose Посмотреть сообщение
std::ostream & operator<<(std::ostream _o, const Tournament & _table);
C++
1
std::ostream & operator<<(std::ostream& _o, const Tournament & _table);
Добавлено через 2 минуты
Цитата Сообщение от axicose Посмотреть сообщение
перегрузил оператор ostream
и это не оператор ostream, а оператор сдвига
Yandex
Объявления
06.12.2013, 12:33     Не работает перегрузка оператора ostream
Ответ Создать тему
Опции темы

Текущее время: 19:52. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru