![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 25.08.2010
Сообщений: 258
|
![]()
Здраствуйте всем ! Подкажите пожалуйста:
Есть код Код:
|
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 18.02.2012
Сообщений: 155
|
![]()
У Me тип TAge, Вы пытаетесь присвоить этот объект переменной типа int. А у Вас оператор присваивания со вторым целым параметром перегружен для класса TAge. Перегружать операции для базовых типов нельзя, так что пишите get методы для класса TAge.
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 25.08.2010
Сообщений: 258
|
![]()
Т.с. я не смогу перегрузить оператор, только через метод?
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 18.02.2012
Сообщений: 155
|
![]()
Не совсем. Напишите в классе метод, который возвращает значение FData, и присваивайте результат этого метода переменной temp.
|
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 25.08.2010
Сообщений: 258
|
![]()
Ну так это через функцию, Не красиво получается -
Код:
|
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 18.02.2012
Сообщений: 155
|
![]()
Оператор присваивания вне класса перегрузить не получится. Тем более для базовых типов вообще нельзя перегружать операции.
Лучше через метод. Тогда это будет выглядеть так: Код:
Код:
|
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 25.08.2010
Сообщений: 258
|
![]()
Ладно понятно! Спасибо за помощь(
|
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 28.12.2011
Сообщений: 27
|
![]() Код:
Код:
Последний раз редактировалось ElectroMent; 11.07.2012 в 08:32. |
![]() |
![]() |
![]() |
#9 | |
Пользователь
Регистрация: 28.12.2011
Сообщений: 27
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#10 | |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
![]() Цитата:
Я могу переписать весь твой код всего одной строчкой. И смысл не изменится: typedef int TAge; То, что ты сделал, называется "овер инжениринг". Создание бесполезной сущности, трата времени, и излишнее переусложнение кода. В ситуациях, когда создание очередной сущности себя действительно оправдывает, способ rmv240899 естественно предпочтителен. Ибо однозначен и прост. Способ "присваивать теплое мягкому" - плохой путь. Способ "присваивать мягкое мягкому" - "овер инжениринг". |
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
C++ Перегрузка оператора += и >> | Jane-sad | Помощь студентам | 4 | 01.03.2013 15:38 |
перегрузка оператора ++ | nhr | Общие вопросы C/C++ | 1 | 04.05.2011 23:32 |
перегрузка оператора ++ | nhr | Помощь студентам | 0 | 04.05.2011 21:20 |
перегрузка оператора = | mcpro | Общие вопросы C/C++ | 8 | 04.02.2011 15:28 |
Перегрузка оператора + (С++) | MjRed | Помощь студентам | 1 | 15.12.2008 18:57 |