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

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

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

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

09.11.2012, 13:35. Просмотров 398. Ответов 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   ????
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.11.2012, 13:35
Здравствуйте! Я подобрал для вас темы с ответами на вопрос перегрузка операторов (C++):

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

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

[c++] Перегрузка операторов - C++
Для заданных A = (A – a1, A, A + a2) и B = (B – b1, B, B + b2) Найти сумму A + B = (A + B – a1 – b1, A + B, A + B + a2 + b2); ...

Перегрузка операторов - C++
Помогите, пожалуйста, с перегрузкой операторов +, >=, ++ как member и friend. void main() { pQueue Obj1, Obj2; String S1, S2;...

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

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

3
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)!
1
Egor138
32 / 13 / 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;
Это все одна и таже запись ???
Приведение типов всегда писал по второму варианту
0
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)!
1
09.11.2012, 14:03
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.11.2012, 14:03
Привет! Вот еще темы с ответами:

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

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

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

Перегрузка операторов - C++
Решите пожалуйсто задачу: Разработайте программу, в которой реализована перегрузка оператора «^». Оператор «^» должен возводить...


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

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

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