0 / 0 / 1
Регистрация: 07.12.2015
Сообщений: 35
1

Перегрузка операторов

07.03.2016, 12:49. Показов 1058. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добавить целое число в очередь (operator<<)
Взять число из очереди (operator>>)
Студия жалуется на эту часть кода
C++ (Qt)
1
a.vector1 >> a.enter;
. Можете помочь.

C++ (Qt)
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
struct fifo
{
    vector<int> vector1;
    int enter;
};
 
fifo& operator>>(fifo& a, fifo& b)
{
    a.vector1.push_back(b.enter);
    return a;
}
 
int main()
{
    
 
    /*task 2 */
 
    fifo a;
    a.vector1.push_back(10);
    for (int i = 0; i < a.vector1.size(); i++) cin >> a.vector1[i];
    a.vector1 >> a.enter;
        
    copy(a.vector1.begin(), a.vector1.end(), ostream_iterator<int>(cout, " "));
 
        return 0;
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.03.2016, 12:49
Ответы с готовыми решениями:

Что такое "перегрузка операторов"? Каковы принципы работы перегруженных операторов и назначение указателя this
Добрый день . Помогите понять принцип работы перегрузки операторов. объясните пожалуйста в...

Перегрузка операторов
В общем учу эту тему и ввожу код один в один как в уроке, но в уроке он компилится, а у меня нет....

Перегрузка операторов +=, -=, *=
Доброе время суток! Начал писать одно лабораторную роботу,с начала показалось что она крайне...

Перегрузка операторов
При перегрузке операторов арифметических действий советуют += (и подобные) делать членами класса, а...

2
13 / 13 / 24
Регистрация: 06.03.2016
Сообщений: 61
07.03.2016, 13:25 2
Лучший ответ Сообщение было отмечено DivinytyToffee как решение

Решение

Цитата Сообщение от DivinytyToffee Посмотреть сообщение
C++
1
a.vector1 >> a.enter;
Во-первых у вектора нет перегруженного оператора сдвига
Если вам надо туда поместить последний элемент то пишите
C++
1
a.vector1.back() = a.enter;
В третьих для очередей лучше использовать адаптер контейнера - тип queue

Добавлено через 10 минут
Цитата Сообщение от DivinytyToffee Посмотреть сообщение
C++
1
fifo& operator>>(fifo& a, fifo& b) { a.vector1.push_back(b.enter); return a; }
Судя по всему вы хотели использовать именно его.
Тогда вам надо создать еще один объект
C++
1
fifo b;
и выполнить оператор
C++
1
a >> b;
0
nd2
3437 / 2816 / 1249
Регистрация: 29.01.2016
Сообщений: 9,426
07.03.2016, 13:29 3
DivinytyToffee, назначение enter?
Цитата Сообщение от DivinytyToffee Посмотреть сообщение
Добавить целое число в очередь (operator<<)
В vector1 объекта?
0
07.03.2016, 13:29
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.03.2016, 13:29
Помогаю со студенческими работами здесь

перегрузка операторов
здравствуйте. недавно разбираю с С++, и как у всех начинающих возникла очередная непонятка,...

Перегрузка операторов
Здравствуйте. Помогите пожалуйста. Может кто то помочь разобраться с перегрузкой операторов. Мне бы...

Перегрузка операторов
Никак не возьму в толк, почему оно не работает! // CG5.cpp : Defines the entry point for the...

Перегрузка операторов -> <-
Здравствуйте в столь позднее время.. Какова особеность перегрузки операторов -&gt; и . ? Что...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru