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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Pro100Whisky
0 / 0 / 0
Регистрация: 28.02.2013
Сообщений: 32
#1

Перегрузка операторов ввода/вывода - C++

25.01.2014, 15:13. Просмотров 864. Ответов 4
Метки нет (Все метки)

Вроде сделал, но не работает перегрузка оператора ввода.
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
#include "stdafx.h"
#include <iostream>
 
using namespace std;
 
class A
{
public:
    int getA()
    {
        return a;
    }
    void setA (int b)
    {
        a = b;
    }
private:
    friend ostream & operator<< (ostream & output, A & a)
    {
        output << "a = " << a.getA();
        return output;
    }
    int a;
 
};
 
class B
{
public:
    int getT()
    {
        return t;
    }
    void setT (int v)
    {
        t = v;
    }
private:
    friend istream & operator>> (istream & input, B & t)
    {
        input >> "t = " >> t.getT();
        return input;
    }
    int t;
 
}
 
int main()
{
    A a;
    B t;
 
    t.setT(5);
    a.setA(5);
    cout << a << endl;
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.01.2014, 15:13
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Перегрузка операторов ввода/вывода (C++):

Перегрузка операторов ввода/вывода. - C++
Класс комплексных чисел. Нужно чтобы программа выводила и вводила в таком виде (функции in и out): #include &lt;iostream&gt; #include...

Перегрузка операторов ввода вывода - C++
ребята болит уже голова)) main.cpp #include &quot;myStr.h&quot; int main() { myStr myS(&quot;ok&quot;); cout&lt;&lt;myS&lt;&lt;endl;//надо чтоб...

Перегрузка операторов ввода вывода - C++
в .h файле сделал объявление inline ostream&amp; operator &lt;&lt;(ostream&amp;, const Proc&amp;); inline istream&amp; operator &gt;&gt;(istream&amp;, Proc&amp;); в...

Перегрузка операторов ввода\вывода - C++
Вот такой простенький пример описан во многих постах, есть в некоторых видео но у меня в компиляторе mvs 2015, при компиляции выдает...

Перегрузка операторов ввода и вывода - C++
#include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; class ComplexNumber { private: double a, b; ...

Перегрузка операторов ввода-вывода - C++
Доброго времени суток! Почему перестал работать &gt;&gt; оператор для стандартного типа char. Перегруженная операция cin&gt;&gt;one возвращает все...

4
MrGluck
Модератор
Эксперт CЭксперт С++
7278 / 4439 / 650
Регистрация: 29.11.2010
Сообщений: 12,018
25.01.2014, 15:16 #2
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
#include <iostream>
 
class MyClass
{
    int x, y;
public:
    friend std::ostream & operator << (std::ostream &, const MyClass&);
    friend std::istream& operator >> (std::istream &, MyClass&);
};
 
std::istream& operator >> (std::istream &in, MyClass& my)
{
    return in >> my.x  >> my.y;
}
 
std::ostream& operator << (std::ostream &out, const MyClass& my)
{
    return out << my.x << " " << my.y;
}
 
int main()
{
    MyClass m;
    std::cin >> m;
    std::cout << m;
}
1
Tulosba
:)
Эксперт С++
4396 / 3232 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
25.01.2014, 15:19 #3
MrGluck, константность параметра при выводе потерял.
1
Pro100Whisky
0 / 0 / 0
Регистрация: 28.02.2013
Сообщений: 32
25.01.2014, 15:21  [ТС] #4
MrGluck, почему число вводится два раза, а не один?
0
MrGluck
Модератор
Эксперт CЭксперт С++
7278 / 4439 / 650
Регистрация: 29.11.2010
Сообщений: 12,018
25.01.2014, 15:22 #5
Поправил.
Копировал с кода, который изначально другой ТС писал, а я лишь внес директивы чтобы компилировалось. В любом случае, обязан был заметить.

Добавлено через 53 секунды
Pro100Whisky, у класса есть два члена - x и y. Мы их инициализируем поочередно, затем выводим.
Вроде немудреная программа.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.01.2014, 15:22
Привет! Вот еще темы с ответами:

Перегрузка операторов ввода и вывода - C++
Добрый вечер! Помогите с задачкой.Я создал класс очередь и класс массив очередей.задача готова, но препод потребовал перегрузить оператор...

Перегрузка операторов потокового ввода вывода - C++
Есть класс &quot;деканат&quot;, полем которого есть список студентов, объектов из класса &quot;Студент&quot;. Как переопределяя операторы &quot;&gt;&gt;&quot; &quot;&quot;&lt;&lt;&quot; вывести...

Перегрузка операторов присваивания, ввода, вывода - C++
Приветствую, помогите реализовать перегрузку операторов(в частности операторы присваивания, ввода, вывода) для данной программы. Я не могу...

Перегрузка операторов потокового ввода-вывода - C++
Пожалуйста, ответе на такой вопрос: почему при написании класса, при перегрузке операторов ввода-вывода, их обязательно нужно объявлять в...


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

Или воспользуйтесь поиском по форуму:
5
Yandex
Объявления
25.01.2014, 15:22
Ответ Создать тему
Опции темы

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