![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 30.10.2011
Сообщений: 22
|
![]()
Здравствуйте. Подстажите пожалуйста как мне сделать реализацию постфиксного оператора инкремента.
Вот мой код. class CData : public CStudent { private: int m_NumberBook; public: CData () {} ~CData (){} CData & operator++(); }; CData & CData: ![]() m_NumberBook = m_NumberBook+5; return *this; } void output() { //вот здесь должно прибавиться +5, а прибавляется +1 m_NumberBook++; printf("%d",m_NumberBook); } Большое спасибо)) |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
покажите код пополнее.
с созданием обьекта(чтоб я видел типы переменных) Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#3 | |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 30.10.2011
Сообщений: 22
|
![]()
Посмотрите пожалуйста в исходниках
Последний раз редактировалось applegrub; 20.12.2011 в 23:18. |
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
кстати, ТС, судя по стандарту вы перегрузили префиксный оператор ++.
постфиксный пишется так: Код:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 30.10.2011
Сообщений: 22
|
![]() |
![]() |
![]() |
![]() |
#7 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]() Цитата:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
![]() |
![]() |
![]() |
#8 | |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
![]() Цитата:
1. Либо output - метод класса, и тогда он внутри должен был заюзать operator++(int) , а не прибавлять 1 к самому данному члену. 2. Либо output - статическая функция. И тогда внутри должен фигурировать объект класса, а не его данный член. Человек походу содрал откуда то кусок кода, и понятия не имеет что он делает, и как. |
|
![]() |
![]() |
![]() |
#9 | |
Пользователь
Регистрация: 30.10.2011
Сообщений: 22
|
![]() Цитата:
class CData : public CStudent //объявлен класс CData, наследник класса CStudent { private: //переменные char *m_FullName; //Ф.И.О. int m_NumberBook; //Номер зачетной книжки int m_AverageScore; //Средний балл m_NumberBook объявлена в классе CData.у меня код компилится |
|
![]() |
![]() |
![]() |
#10 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
у вас output это часть класса значит.
так к чему вы применяете инкремент то? ![]() к объекту вашего класса, или же нет? ![]() Код:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
C++ Перегрузка оператора += и >> | Jane-sad | Помощь студентам | 4 | 01.03.2013 15:38 |
перегрузка оператора + | nesss | Помощь студентам | 0 | 01.11.2011 02:23 |
Перегрузка оператора + | Jane-sad | Помощь студентам | 0 | 05.10.2010 13:52 |
С++ перегрузка оператора | cati | Помощь студентам | 10 | 21.04.2010 23:38 |