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

Реализовать добавление переопределения операций или отношений - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Подключиться к базе данных созданной в sql server http://www.cyberforum.ru/cpp-beginners/thread1712093.html
Здравствуйте, могли бы подсказать пожалуйста. Нужно написать прогу, которая как-то подключается(открывает) к базе данных созданной в sql server. Прога должна выводить текущие таблицы, заполнять их, удалять какие-то значения. Могли бы подсказать, где об этом можно почитать. Или как правильно в гугле сформировать запрос.
C++ Связный список как часть друго класса всем привет. общая задача написать систему для управления колледжем с классами: College, Department, Course, Student у каждого объекта класса студент должен быть связный список содержащий указатели на курсы на которые записан студент а также у класса курс должен быть список адресов на объект студент, для студентов учащихся на данном курсе решил сделать список как отдельный класс с... http://www.cyberforum.ru/cpp-beginners/thread1712077.html
Алфавитная сортировка массива структур C++
Здравствуйте, буду очень признателен, если тут мне помогут. У меня есть структура TypeBook и массив этих структур library. Мне необходимо отсортировать массив по фамилиям авторов (library.authorsName.LastName (тип данных char)), и немного не могу допереть как это сделать. Заранее спасибо.
Вычислить значение выражения C++
Вычислить значение выражения: y = 45x/(5!-44x/(4!-43x/(3!-42x/(2!-4x/(1-x) Помогите, пожалуйста!
C++ Дано натуральное число. Найти все его простые положительные делители. C++ http://www.cyberforum.ru/cpp-beginners/thread1712057.html
Входные данные Дано натуральное число N. Выходные данные Вывести все его простые положительные делители.
C++ Структуры. Вывести данные об авиарейсе с максимальной скоростью Впервые работаю со структурой времени. Не могу понять как сделать. Сколько искал информации на эту тему, никак не найду. Помогите пожалуйста. Подскажите как начать. Структура имеет следующие поля № авиарейса Время вылета Время прилета Расстояние Вывести данные об авиарейсе с максимальной скоростью Арифметические действия над временем.Не могу догнать)Помогите) подробнее

Показать сообщение отдельно
Максим_Воробьев
1 / 1 / 0
Регистрация: 29.03.2016
Сообщений: 51
18.04.2016, 16:46  [ТС]     Реализовать добавление переопределения операций или отношений
avgoor, Так как я понял класс class InputDataFTeam полностью убирается.
Дальше вместо этого в программе прописывается
C++
1
2
3
4
5
std::basic_istream<char>& operator>>(std::basic_istream<char>& in, cf::Player& p)
{
    std::getline(in, p.m_name);
    in >> p.m_bDay;
}
это вместо getPlayer, а вместо getFteam прописывается это
C++
1
std::basic_ostream<char>& operator<<(std::basic_ostream<char>& in, const cf::Player& p)
так? То есть в программе это получается так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
#include <iostream>
#include <string>
#include <vector>
 
namespace cf{
    // класс игрок который наследуется от базового
    class Player {
            public:
            std::string m_name; // имя игрока
            size_t m_bDay;          // год рождения
            Player(std::string name = std::string(), size_t bDay = 0) : 
                            m_name(name), m_bDay(bDay){} // конструктор с параметрами
            Player(const Player & p){ // конструктор копирования
                m_name = p.m_name;
                m_bDay = p.m_bDay;
            }
            Player & operator=(const Player & p){ // перегруженный оператор =
                m_name = p.m_name;
                m_bDay = p.m_bDay;
            }
            virtual void print() const{ // реализация функции печати наследовано от базового класса
                            std::cout << m_name << " " << m_bDay << std::endl;
                        }
                        virtual ~Player(){} // деструктор
    };
    
    // класс футбольной команды наследуется от базового
    class FTeam {
        private:
            std::vector<Player> team; // список игроков в команде
            std::string liga;               // название лиги
            std::string name;                   // название команды
            Player trainer;                     // тренер
            size_t wins;                            // количество побед
            size_t defeat;                      // количество поражений
        public:
                FTeam() : trainer(), name(std::string()), liga(std::string()), wins(0), defeat(0){} // конструктор по умолчанию
                void add(Player p){ // добавление игрока в команду
                    team.push_back(p);
                }
                FTeam(Player t, std::string n, std::string l, size_t w = 0, size_t d = 0) : trainer(t), 
                            name(n), liga(l), wins(w), defeat(d){} // конструктор с параметрами
                FTeam(const FTeam & ft){ // конструктор копирования
                    team = ft.team;
                    liga = ft.liga;
                    name = ft.name;
                    trainer = ft.trainer;
                    wins = ft.wins;
                    defeat = ft.defeat;
                }
                virtual void print() const{ // реализация функции печати наследовано от базового класса
                    std::cout << "Team : " << name << std::endl;
                    std::cout << "Liga : " << liga << std::endl;
                    std::cout << "Trainer : " << trainer.m_name << std::endl;
                    for(size_t i = 0; i < team.size(); ++i){
                        team[i].print();
                    }
                    std::cout << "----------------------------------------------------"  << std::endl;
                }
                // Сеттеры и Геттеры
                void setTrainer(Player p){
                    trainer = p;
                }
                const Player & getTrainer() const{
                    return trainer;
                }
                void setLiga(std::string s){
                    liga = s;
                }
                const std::string & getLiga() const{
                    return liga;
                }
                void setNameTeam(std::string s){
                    name = s;
                }
                const std::string & getNameTeam() const{
                    return name;
                }
                void addWin(){
                    ++wins;
                }
                size_t getWins() const{
                    return wins;
                }
                void resetWins(){
                    wins = 0;
                }
                void addDefeat(){
                    ++defeat;
                }
                size_t getDefeat() const{
                    return defeat;
                }
                void resetDefeat(){
                    defeat = 0;
                }
                virtual ~FTeam(){}
    };
    
    // класс футбольного менеджера, наследуется от базового
    class FTeamManager {
        private:
                std::vector<FTeam> teams; // список команд
        public:
                void add(FTeam ft){ // добавление команды
                    teams.push_back(ft);
                }
                void findFTeam(std::string nameTeam){
                    for(size_t i = 0; i < teams.size(); ++i){
                        if(teams[i].getNameTeam() == nameTeam)
                            teams[i].print();
                    }
                }
                
                virtual void print() const{ // реализация функции печати наследовано от базового класса
                    for(size_t i = 0; i < teams.size(); ++i){
                        teams[i].print();
                    }
                }
                virtual ~FTeamManager(){} // диструктор
    };
    
std::basic_istream<char>& operator>>(std::basic_istream<char>& in, cf::Player& p)
{
    std::getline(in, p.m_name);
    in >> p.m_bDay;
}
 
std::basic_ostream<char>& operator<<(std::basic_ostream<char>& in, const cf::Player& p)
   
}
 
int main(){
    
    cf::FTeamManager ftm; // объявляем объект класса менеджера
    
    // создаем объекты команд с параметрами
    cf::FTeam ft1(cf::InputDataFTeam::getFTeam());
    cf::FTeam ft2(cf::InputDataFTeam::getFTeam());
    cf::FTeam ft3(cf::InputDataFTeam::getFTeam());
    
    //добавляем игроков в команды
    ft1.add(cf::InputDataFTeam::getPlayer());
    ft1.add(cf::InputDataFTeam::getPlayer());
    ft1.add(cf::InputDataFTeam::getPlayer());
    
    ft2.add(cf::InputDataFTeam::getPlayer());
    ft2.add(cf::InputDataFTeam::getPlayer());
    ft2.add(cf::InputDataFTeam::getPlayer());
    
    ft3.add(cf::InputDataFTeam::getPlayer());
    ft3.add(cf::InputDataFTeam::getPlayer());
    ft3.add(cf::InputDataFTeam::getPlayer());
    
    //добавляем команды менеджеру 
    ftm.add(ft1);
    ftm.add(ft2);
    ftm.add(ft3);
    
    //поиск определенной команды по названию и вывод данных о ней
    std::string findFteam; 
    std::cout << "Input team name for find : "; getline(std::cin, findFteam); 
    ftm.findFTeam(findFteam);
    
    // выводим данные всех команд, которыми "управляет" менеджер
    std::cout << std::endl;
    std::cout << std::endl;
    std::cout << std::endl;
    ftm.print();
    
    return 0;
}
на этом этапе все правильно я понял?
 
Текущее время: 04:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru