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

сделать методом класса перегрузку оператора потокового ввода - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Написать программу по разбивке и анализу содержимого файла отчета работы ПО (log-файла) http://www.cyberforum.ru/cpp-beginners/thread1172909.html
Помогите пожалуйста, желательно с комментариями...Буду очень благодарна)) Написать программу по разбивке и анализу содержимого файла отчета работы ПО (log-файла). Необходимо проанализировать и подсчитать запросы, а также вывести их в алфавитном порядке с подсчетом количества повторений. Программа должна выдавать отчет о своей работе в виде: Дата Запросы 25.04.2002 - 12 ...
C++ Исправить сортировку структуры #pragma hdrstop #pragma argsused #include <tchar.h> #include <stdio.h> #include <stdlib.h> #include <iostream.h> using namespace std; int const n=3; http://www.cyberforum.ru/cpp-beginners/thread1172908.html
C++ Определить является ли матрица магическим квадратом
Имеется массив 3х3. определить является ли такая матрица магическим квадратом. помоги пожалуйста
C++ Перевести с Pascal на С++
uses crt,graph; type kletka=record tip:byte; {1-akula,2-riba,0-pusto} golod:0..100; vozrast:0..1000; s:0..5; hod:boolean; end;
C++ Написать калькулятор, работающий с дробями http://www.cyberforum.ru/cpp-beginners/thread1172895.html
Нужна помошь!Долго пытался На с++ не получается написать дробный калькулятор.
C++ Ошибка при вводе в программу количества чисел, равных единице #include <iostream> using namespace std; struct Spisok { int chislo; Spisok *sled, *pred; }; void main() подробнее

Показать сообщение отдельно
Roman_Baranov
0 / 0 / 0
Регистрация: 13.11.2012
Сообщений: 7
12.05.2014, 08:32     сделать методом класса перегрузку оператора потокового ввода
видать проверяют знания, их нет, надо сделать перегрузку потокового ввода методом класса, идей нет, помогите пожалуйста
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
#include "stdafx.h" 
#include <iostream> 
#include <string> 
#include <clocale>   
#include <stdlib.h>
#include <Windows.h>
 
using namespace std;
class TSession
{
public:
    string surname;
    int math, chemistry, biology;
 
 
    TSession()
    {
        surname = "";
        math = 0;
        chemistry = 0;
        biology = 0;
    }
 
 
    TSession(string surname, int math, int chemistry, int biology)
    {
        surname = surname;
        math = math;
        chemistry = chemistry;
        biology = biology;
    }
 
 
    TSession(TSession &T)
    {
        surname = T.surname;
        math = T.math;
        chemistry = T.chemistry;
        biology = T.biology;
    }
 
 
    void Input(void)
    {
        cout << "\nВведите фамилию: ";
        std::cin >> surname;
        cout << "Введите оценку по математике: ";
        std::cin >> math;
        cout << "Введите оценку по химии: ";
        std::cin >> chemistry;
        cout << "Введите оценку по биологии: ";
        std::cin >> biology;
        return;
    }
 
 
    void Output(void)
    {
        cout << "\n\nФамилия: " << surname;
        cout << "\nМатематика: " << math;
        cout << "\nХимия: " << chemistry;
        cout << "\nБиология: " << biology << endl;
        return;
    }
 
    bool Debtor()
    {
        if (math < 3 || chemistry < 3 || biology < 3)
            return true;
        else
            return false;
    }
 
 
    void SredniyBall()
    {
        cout << endl << "средний балл ученика " << surname << " равен " << ((math + chemistry + biology) / 3);
    }
 
//============================================================
    //перегрузка оператора "равно"
    void operator = (TSession &T)//это позволяет выполнить C=B
    {
        surname = T.surname;
        math = T.math;
        chemistry = T.chemistry;
        biology = T.biology;
    }
    //перегрузка оператора "сравнить равно ли "
    bool operator ==(TSession &T)//это позволяет выполнить проверу B==D
    {
    if( surname == T.surname)
        if (math == T.math)
            if(chemistry == T.chemistry)
                if (biology == T.biology)
                    return true;
                else return false;
            else return false;
        else return false;
    else return false;
    }
    //перегрузка оператора друга потокового вывода 
    friend ostream&operator<<(ostream &stream, TSession &T) 
    {
        stream << "\n\nФамилия: " << T.surname;
        stream << "\nМатематика: " << T.math;
        stream << "\nХимия: " << T.chemistry;
        stream << "\nБиология: " << T.biology << endl;
        return stream;
    }
    //перегрузка оператора друга потокового ввода
    //===========================================
    //СДЕЛАТЬ МЕТОДОМ КЛАССА
    //===========================================
    //friend istream&operator>>(istream &stream, TSession &T)
    void cin ()
    {
        cout << "\nВведите фамилию: ";
        std::cin>> surname;
        cout << "Введите оценку по математике: ";
        std::cin >> math;
        cout << "Введите оценку по химии: ";
        std::cin >> chemistry;
        cout << "Введите оценку по биологии: ";
        std::cin >> biology;
    }
};
    
int main(void)
{
setlocale(LC_ALL, "Russian");
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
 
const int n=2;
TSession A[n],B,C,D;
 
B.cin();//ввод первого студента
cout << B;//вывод первого студента
C = B;//приравниваю второго к первому
cout << C;//вывод второго студента
D.cin();//ввод третьего студента
if (B == D)//проверяем совпадает ли он с первым
cout << "B==D";//если совпадает то выводим B==D
else cout << "B!=D"<<endl;//а если не совпадает, то выводим B!=D
 
system("pause");
return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 06:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru