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

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

Войти
Регистрация
Восстановить пароль
 
Kotik_leapold
73 / 68 / 48
Регистрация: 18.12.2015
Сообщений: 478
#1

Реализация собственного оператора "запятая" - C++

10.05.2017, 11:14. Просмотров 143. Ответов 4
Метки c++ (Все метки)

Всем привет. Подскажите как самому реализовать оператор запятая.
Я хочу реализовать как в векторе.

C++
1
2
vector<int> v; 
v += 1,2,3,4,5,6,7,8,9;
C++
1
2
3
4
5
6
7
8
9
10
class overload_oper {
public:
    overload_oper();
    virtual ~overload_oper();
 
    overload_oper& operator,(int value);
 
private:
    int data[5];
};
Добавлено через 4 минуты
Чтобы можно было сделать вот так:

C++
1
2
3
overload_oper obj;
 
obj = 1,2,3,4,5;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.05.2017, 11:14
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Реализация собственного оператора "запятая" (C++):

Как это работает (недокументированное использование оператора "запятая")? - C++
Нашёл один велосипед в сети, можете объяснить как это работает? Что это за недокументированное использование оператора &quot;запятая&quot;? ...

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

Выяснить, имеется ли пара соседствующих символов ",-" "-," (запятая, тире) в тексте - C++
#include &lt;iostream.h&gt; //Уважаемые программисты помогите переделать эту //Вот задание (Выяснить, имеется ли пара соседствующих символов...

Перегрузка "opеrator =" и "{ }" для собственного класса - C++
Я пытаюсь создать класс Vector. Для задания элементов вектора хотелось бы использовать &quot;opеrator =&quot; и &quot; { } &quot;. Возможно ли...

Перегрузка оператора "++" и "--" в чем может быть причина нарушение прав доступа? - C++
Вот такой вот код #include &lt;iostream&gt; class d { private: int size ; char *n; public: d()

В зависимости от времени года "весна", "лето", "осень", "зима" определить погоду "тепло", "жарко", "холодно", "очень холодно" - C++
В зависимости от времени года &quot;весна&quot;, &quot;лето&quot;, &quot;осень&quot;, &quot;зима&quot; определить погоду &quot;тепло&quot;, &quot;жарко&quot;, &quot;холодно&quot;, &quot;очень холодно&quot;. Я так...

4
hoggy
6701 / 2883 / 494
Регистрация: 15.11.2014
Сообщений: 6,480
Завершенные тесты: 1
10.05.2017, 11:14 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
 
class overload_oper {
public:
    overload_oper& operator,(const int value) { data[cur++] = value; return *this; }
    overload_oper& operator=(const int value) { data[cur++] = value; return *this; }
    const int& operator[](const size_t idx)const { return data[idx]; }
private:
    size_t cur = 0;
    int data[5];
};
 
int main()
{
    overload_oper op;
    op = 1,2,3,4,5;
    
    for(size_t n=0; n!=5; ++ n)
        std::cout << op[n] << ", ";
}
1
Kotik_leapold
73 / 68 / 48
Регистрация: 18.12.2015
Сообщений: 478
10.05.2017, 12:09  [ТС] #3
Работает но печатает иные числа

C++
1
1961608112, 1961608112, 1961608112, 1961608112, 1961608112,
0
DU3
279 / 231 / 80
Регистрация: 07.09.2016
Сообщений: 587
10.05.2017, 12:18 #4
ничего не меняли? потому как код работающий
http://ideone.com/9Lup8d
0
MrGluck
Модератор
Эксперт CЭксперт С++
7491 / 4606 / 692
Регистрация: 29.11.2010
Сообщений: 12,596
10.05.2017, 12:56 #5
Код работает даже с флагом С++98
http://rextester.com/WQPAS18788
0
10.05.2017, 12:56
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.05.2017, 12:56
Привет! Вот еще темы с ответами:

Перегрузка оператора "++" и "--" , компилирует, но при запуске программы - ошибка - C++
#include &lt;iostream&gt; #include&lt;ctime&gt; #include&lt;stdio.h&gt; #include&lt;locale.h&gt; #include &lt;windows.h&gt; #include &lt;conio.h&gt; ...

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

Не корректно считает перегрузку оператора "-" после "+" - C++
Доброго дня. Помогите советом. Не корректно считает a - b и a * b , после подсчёта a + b. Понимаю что он сохраняет первое решение в...

Перегрузка оператора "+", чтобы выполнял "*" - C++
Ребят, привет всем, возник такой вопрос: возможно ли перегрузить оператор &quot;+&quot; так, чтоб выполнялось умножение? Например вводится...


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

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

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