Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 13.11.2012
Сообщений: 7

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

12.05.2014, 08:32. Показов 652. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
видать проверяют знания, их нет, надо сделать перегрузку потокового ввода методом класса, идей нет, помогите пожалуйста
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;
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.05.2014, 08:32
Ответы с готовыми решениями:

не получается осуществить перегрузку оператора ввода-вывода
хочу передать перечисление (enum class Colors) в функцию to_string по ссылке, но при этом при возвращении в консоль возникает ошибка...

Реализовать перегрузку оператора ввода в классе-наследнике
вопрос, наверное, глупый. Есть класс, содержащий массив (размер задется пользователем) и наследник (4 элемента). Можно ли вызвать...

Передача по указателю в дружественную перегрузку оператора класса
имеется такой код, class A { //... public: friend A operator+(const A*, const A*); //ругается //... }; Компилятор ругается...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.05.2014, 08:32
Помогаю со студенческими работами здесь

помогите сделать перегрузку оператора!
надо перегрузить - (raznica) using System; using System.Collections.Generic; using System.Linq; using System.Text;

Общие символы для двух строк(своего класса) через перегрузку оператора
Создать свой строковый класс, добавить функцию, которая создает строку, содержащую пересечение двух строк, то есть общие символы для двух...

Как сделать в данной программе перегрузку оператора?
Нужно сделать, чтобы в этой программе была перегрузка оператора (любого). #include &lt;vcl.h&gt; #include &lt;fstream.h&gt; ...

Как в двусвязном списке сделать перегрузку оператора присваивание
Добрый день. Мне нужно перегрузить оператор =, так чтобы один объект класса &quot;Двусвязный список&quot; присваивался другом объекту. ...

Перегрузка потокового ввода/вывода для класса с полем типа string
Возможно ли перегрузить &gt;&gt; и &lt;&lt; или придётся заменить переменную string на массив char? У меня ошибка появляется: &quot;бинарный...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru