|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
08.07.2012, 18:26 | #1 |
Форумчанин
Регистрация: 25.08.2010
Сообщений: 258
|
Перегрузка оператора
Здраствуйте всем ! Подкажите пожалуйста:
Есть код Код:
|
08.07.2012, 18:43 | #2 |
Форумчанин
Регистрация: 18.02.2012
Сообщений: 155
|
У Me тип TAge, Вы пытаетесь присвоить этот объект переменной типа int. А у Вас оператор присваивания со вторым целым параметром перегружен для класса TAge. Перегружать операции для базовых типов нельзя, так что пишите get методы для класса TAge.
|
08.07.2012, 18:54 | #3 |
Форумчанин
Регистрация: 25.08.2010
Сообщений: 258
|
Т.с. я не смогу перегрузить оператор, только через метод?
|
08.07.2012, 19:02 | #4 |
Форумчанин
Регистрация: 18.02.2012
Сообщений: 155
|
Не совсем. Напишите в классе метод, который возвращает значение FData, и присваивайте результат этого метода переменной temp.
|
08.07.2012, 19:05 | #5 |
Форумчанин
Регистрация: 25.08.2010
Сообщений: 258
|
Ну так это через функцию, Не красиво получается -
Код:
|
08.07.2012, 19:21 | #6 |
Форумчанин
Регистрация: 18.02.2012
Сообщений: 155
|
Оператор присваивания вне класса перегрузить не получится. Тем более для базовых типов вообще нельзя перегружать операции.
Лучше через метод. Тогда это будет выглядеть так: Код:
Код:
|
08.07.2012, 19:29 | #7 |
Форумчанин
Регистрация: 25.08.2010
Сообщений: 258
|
Ладно понятно! Спасибо за помощь(
|
11.07.2012, 08:27 | #8 |
Пользователь
Регистрация: 28.12.2011
Сообщений: 27
|
Код:
Код:
Последний раз редактировалось ElectroMent; 11.07.2012 в 08:32. |
11.07.2012, 08:37 | #9 | |
Пользователь
Регистрация: 28.12.2011
Сообщений: 27
|
Цитата:
|
|
11.07.2012, 12:37 | #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 |