Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Armatus
53 / 53 / 45
Регистрация: 24.03.2016
Сообщений: 377
Завершенные тесты: 4
#1

Перегрузка операции >> - C++

03.05.2016, 18:14. Просмотров 149. Ответов 1
Метки нет (Все метки)

Вообщем хочу перегрузить операцию >> и инициализировать с ее помощью класс.
Но что-то перемудрил и компилятор ругается на эту функцию:
C++
1
2
3
4
std::istream & operator >> (std::istream & os, complex & t) {
    os >> t.a;
    os >> t.b;
}
Молвит что a и b уже объявлены.
Прошу подсказать что я не так сделал, спасибо.

Файл 1:
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#ifndef complexO_h_
#define complexO_h_
 
class complex {
    double a;
    double b;
public:
    complex(double aa, double bb);
    complex();
    friend std::istream & operator >> (std::istream & os, const complex & t);
    
};
 
#endif


Файл 2:
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include#include "complexO.h"
#include <iostream>
 
std::istream & operator >> (std::istream & os, complex & t) {
    os >> t.a;
    os >> t.b;
}
complex::complex(double aa, double bb) {
    a = aa;
    b = bb;
}
complex::complex() {
    a = 0;
    b = 0;
}


файл 3:
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
#include <iostream> using namespace std;
using namespace std;
#include "complexO.h" 
int main() {
    complex a(3.0, 4.0);
    complex c;
    cout << "Enter a complex number (q to quit) :\n";
    while (cin >> c);
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.05.2016, 18:14
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Перегрузка операции >> (C++):

Перегрузка операции %
Как перегрузить операцию % в с++?

Перегрузка операции
Здравствуйте, можете пожалуйста помочь с кодом на перегрузку операции: + −...

Перегрузка операции
Никак не могу понять как перегрузить оператор. Кучу примеров пересмотрел, но...

Перегрузка операции >>
Всем привет! Суть: есть класс, есть объект, есть перегруженная операция &gt;&gt; для...

Перегрузка операции
Здравствуйте! Нужно перегрузить операцию &lt;&lt; для вставки полей объекта класса в...

Перегрузка операции =
Здравствуйте, в программе вылезает такая ошибка MainUnit.cpp(86): E2034...

1
lbtrtb
0 / 0 / 1
Регистрация: 01.05.2016
Сообщений: 2
03.05.2016, 18:46 #2
Цитата Сообщение от Armatus Посмотреть сообщение
Файл 1: friend std::istream & operator >> (std::istream & os, const complex & t);
Цитата Сообщение от Armatus Посмотреть сообщение
Файл 2: std::istream & operator >> (std::istream & os, complex & t)
Найдите отличие
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.05.2016, 18:46
Привет! Вот еще темы с решениями:

Перегрузка операции
Как реализовать код ? &quot;Определить операции над строками :Вставка символа на...

Перегрузка операции =
Подскажите пожалуйста как для шаблонной функции перегрузить = есть не сложно то...

Перегрузка операции []
Добрый день. Столкнулся с недопониманием, странной ошибкой. #include...

Перегрузка операции
Запрограммировать и протестировать заданную перегруженную операцию, ...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

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