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

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

Войти
Регистрация
Восстановить пароль
 
Egor138
30 / 11 / 2
Регистрация: 10.08.2012
Сообщений: 619
Записей в блоге: 2
#1

перегрузка операторов - C++

09.11.2012, 13:35. Просмотров 390. Ответов 3
Метки нет (Все метки)

Есть перечисление и функция :

C++
1
2
3
4
5
6
7
8
9
10
enum Num {
    on, tw, th, fo ,fi, si ,se, ei, ni ,last
};
 
Num wl(on);
 
Num operator++(Num& obj) {
    obj = (obj==last) ? on : Num(obj+1); // Что значит  Num(obj+1); ??? Почему нельзя  написать
    return obj;                                    // прочто obj+1   ????
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.11.2012, 13:35     перегрузка операторов
Посмотрите здесь:

Перегрузка операторов - C++
Здравствуйте, помогите найти в коде перегрузку оператора. ConsoleApplication1 #include "masiv.h" #include <iostream> using...

Перегрузка операторов С++ - C++
Всем привет возникла проблема при попытк перегрузить оператор+ в языке с++ мне надо чтобы была возможность сложить double число с...

Перегрузка операторов ++ - C++
доброго времени суток. есть утечка памяти как я понимаю, но не мойму почему. о чем программа: есть обьект типа MString. В этом классе...

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

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

Перегрузка операторов + и = - C++
Здравствуйте! У меня такой вопрос. Пишу класс подобный string. Перегрузила оператор + Line &Line::operator+ (const Line& right)const...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
D.E.S.P.E.R.O.
9 / 9 / 0
Регистрация: 12.03.2009
Сообщений: 110
Завершенные тесты: 1
09.11.2012, 13:46     перегрузка операторов #2
Потому что при операции obj + 1 происходить пртиведение типа результата к int и его нельза присвоить переменной obj, которая имеет тип Num. Поэтому используеться явное приведение типа Num(obj + 1)!
Egor138
30 / 11 / 2
Регистрация: 10.08.2012
Сообщений: 619
Записей в блоге: 2
09.11.2012, 14:00  [ТС]     перегрузка операторов #3
Цитата Сообщение от D.E.S.P.E.R.O. Посмотреть сообщение
Потому что при операции obj + 1 происходить пртиведение типа результата к int и его нельза присвоить переменной obj, которая имеет тип Num. Поэтому используеться явное приведение типа Num(obj + 1)!
C++
1
Num(obj+1);  и (Num)obj+1;
Это все одна и таже запись ???
Приведение типов всегда писал по второму варианту
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.11.2012, 14:03     перегрузка операторов
Еще ссылки по теме:

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

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

Перегрузка операторов С++ - C++
Всем привет!:) Помогите пожалуйста разобраться в коде. Я сооооовсем начинающий и сейчас учу с++ по Шилдту и Либерти. Вопрос связан с...

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


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

Или воспользуйтесь поиском по форуму:
D.E.S.P.E.R.O.
9 / 9 / 0
Регистрация: 12.03.2009
Сообщений: 110
Завершенные тесты: 1
09.11.2012, 14:03     перегрузка операторов #4
Да это все один и тот же вариант, что есть приведением типов в стиле языка С. Если пишете на С++, то лучше и правильнее использовать static_cast<Num>(obj + 1)!
Yandex
Объявления
09.11.2012, 14:03     перегрузка операторов
Ответ Создать тему
Опции темы

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