0 / 0 / 0
Регистрация: 27.04.2017
Сообщений: 6
|
||||||
1 | ||||||
Перегрузка операторов, указатели27.04.2017, 15:39. Показов 1960. Ответов 16
Метки нет (Все метки)
Добрый день! Помогите пожалуйста разобраться с перегрузкой постинкремента. Не могу понять, почему при присваивании объекта заданного класса объекту другого класса с постинкрементом получается непонятное значение...
0
|
27.04.2017, 15:39 | |
Ответы с готовыми решениями:
16
Что такое "перегрузка операторов"? Каковы принципы работы перегруженных операторов и назначение указателя this перегрузка операторов Перегрузка операторов Перегрузка операторов |
0 / 0 / 0
Регистрация: 27.04.2017
Сообщений: 6
|
|
27.04.2017, 15:59 [ТС] | 3 |
По задумке необходимо, чтобы значение разыменованного указателя *itsRadius в объекте Circ копировалось в объект А без приращения, а сам *itsRadius в Circ увеличивался на 1. Как это реализовать?
0
|
132 / 158 / 87
Регистрация: 06.04.2016
Сообщений: 992
|
|
27.04.2017, 16:36 | 5 |
0
|
Велосипедист...
353 / 220 / 73
Регистрация: 15.12.2015
Сообщений: 785
|
|
27.04.2017, 16:46 | 6 |
DemolitionMan,
short -- всего лишь модификатор целого типа (int ). Сам тип может быть опущен, если есть хоть один из его модификаторов. То бишь, если написать unsigned short , то подразумевается unsigned short int .
1
|
132 / 158 / 87
Регистрация: 06.04.2016
Сообщений: 992
|
|
27.04.2017, 16:51 | 7 |
Ну я не знаю, это наверное в другом компиляторе так. У меня в C++Builder 6: short - 16-битный тип данных;
int - 32-битный тип данных.
0
|
0 / 0 / 0
Регистрация: 27.04.2017
Сообщений: 6
|
|
27.04.2017, 16:53 [ТС] | 8 |
MrGluck, Извините за глупые вопросы, а вот это разве не явное объявление конструктора копий...
SimpleCircle(SimpleCircle &) ;//вот прототип конструктора копий SimpleCircle :: SimpleCircle(SimpleCircle &rhs) //Конструктор - копий { itsRadius = new USH; *itsRadius = rhs.GetRad(); cout << "\ncopy constructor\n "; }
0
|
Форумчанин
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
|
|
27.04.2017, 16:56 | 10 |
На самом деле,
short == short int . Просто полный тип можно не писать.Добавлено через 1 минуту Да, это конструктор копий. Я его не приметил среди вашей простыни. Используйте теги форматирования кода. Оператора присваивания всё равно нет, и именно это вызывает ошибку в вашем коде.
0
|
0 / 0 / 0
Регистрация: 27.04.2017
Сообщений: 6
|
||||||
27.04.2017, 17:17 [ТС] | 11 | |||||
MrGluck, Спасибо за критику, первый вопрос на этом форуме..В следующий раз постараюсь с табуляцией.
Добавлено через 16 минут MrGluck, Вы имеете ввиду добавить это?
0
|
132 / 158 / 87
Регистрация: 06.04.2016
Сообщений: 992
|
|
27.04.2017, 17:40 | 13 |
Мне, кстати, профессионалы тут не советовали работать с консолью в конструкторе, хотя и видно когда какой конструктор запскается.
0
|
0 / 0 / 0
Регистрация: 27.04.2017
Сообщений: 6
|
||||||
27.04.2017, 18:00 [ТС] | 14 | |||||
После добавления оператора присваивания не работает присваивание с приращением..Что-то я запутался
0
|
0 / 0 / 0
Регистрация: 27.04.2017
Сообщений: 6
|
||||||
27.04.2017, 18:44 [ТС] | 16 | |||||
Dani, спасибо, разобрался.
Косяк был где Вы сказали и тут:
0
|
27.04.2017, 18:53 | 17 |
Если не совсем верно упростить, то это указывает на то, что метод не изменяет значений переменных-членов класса и не вызывает методов, которые могут это сделать.
0
|
27.04.2017, 18:53 | |
27.04.2017, 18:53 | |
Помогаю со студенческими работами здесь
17
Перегрузка операторов Перегрузка операторов Перегрузка операторов Перегрузка операторов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |