Форум программистов, компьютерный форум CyberForum.ru

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

Войти
Регистрация
Восстановить пароль
 
GetVariable
163 / 119 / 5
Регистрация: 17.03.2013
Сообщений: 283
#1

Операция постинкремента - C++

10.06.2013, 22:48. Просмотров 335. Ответов 5
Метки нет (Все метки)

Как правильно реализовать операцию постинкремента, или же в данном коде всё верно?

Меня смущает тот факт, что функция сохраняет объект "Person" в static, те не уничтожает его, ибо по другому ссылку не возможно вернуть.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Person& Person::operator ++()
{
    this->set_year(this->get_year() + 1);
 
    return *this;
}
Person& Person::operator ++(int)
{
    static Person Person(this->get_name(), this->get_lastname(), this->get_year());
 
    Person::operator++();
 
    return Person;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.06.2013, 22:48     Операция постинкремента
Посмотрите здесь:

оператор постинкремента не компилируется - C++
Добавил строку 21 после чего вся прога перестала компилироваться прога #include <string> #include <iostream> // для объекта cout ...

Операция ИЛИ - C++
Добрый вечер) Я новичок в СИ поэтому если вопрос глупый не пинайте) Возможно ли сделать подобную операцию в СИ: IF (a == 3 ИЛИ 4) {...

Операция с указателями - C++
SomeClass* ptr = sc1; SomeClass* ptr2 = ptr1; как имея только ptr2 изменить указатель ptr (изменить переменную, на которую ссылается ptr)...

операция switch - C++
switch(c)//char c=f.get() { case ' ': ne=true; break; case '\t': ne=true; break; break; case '\n': ne=true; case EOF:

Условная операция - C++
можно ли зделать такое условие с помощью условной операции (тернарного оператора)? if ((x+n)<0 || sin(z)<0) { ...

Атомарная операция - C++
У меня есть такой класс: class CClass { public: bool state() const {return state_;} private: bool state_ = false; ...

операция повторения - C++
#include <iostream> using namespace std; int main() { int match, win, ni, por; cout<<"Введите количество матчей: "; ...

Условная операция - C++
Ребят помогите написать вот такой припер в VisualStudio С++ Только начал учить С++, не до конца понимаю, заранее спасибо Нарушен...

Операция присваивания (=) - C++
Добрый день, интересует вот что: правильно ли я считаю, что в int x = .0 + 1F + 4L; 1) Сперва все операнды сложения (по правую...

побитовая операция | - C++
есть 3 матрицы : float **M,**M1,**M2; нужно выполнить for(i=0;i<n;i++) { for(j=0;j<m;j++) {


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт С++
6552 / 3972 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
10.06.2013, 22:52     Операция постинкремента #2
постинкремент должен возвращать копию
GetVariable
163 / 119 / 5
Регистрация: 17.03.2013
Сообщений: 283
10.06.2013, 22:58  [ТС]     Операция постинкремента #3
Тогда у нас будет происходить возвращение адреса временной переменной

или вы имели ввиду

C++
1
2
3
4
5
6
7
8
Person Person::operator ++(int)
{
    Person Person(this->get_name(), this->get_lastname(), this->get_year());
 
    Person::operator++();
 
    return Person;
}
Добавлено через 2 минуты
или

C++
1
2
3
4
5
6
7
8
Person& Person::operator ++(int)
{
    Person* old = new Person(this->get_name(), this->get_lastname(), this->get_year());
 
    Person::operator++();
 
    return *old;
}
Jupiter
Каратель
Эксперт С++
6552 / 3972 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
10.06.2013, 23:01     Операция постинкремента #4
C++
1
2
3
4
5
6
7
8
Person Person::operator ++(int)
{
    Person person(*this);
 
    this->set_year(get_year() + 1);
 
    return person;
}
BumerangSP
10.06.2013, 23:05
  #5

Не по теме:

GetVariable, можно поинтересоваться? Зачем Вы используете геттеры в методах этого же класса вместо прямого обращения к переменным? В них содержатся сложные описания или что?

GetVariable
163 / 119 / 5
Регистрация: 17.03.2013
Сообщений: 283
10.06.2013, 23:07  [ТС]     Операция постинкремента #6
Цитата Сообщение от BumerangSP Посмотреть сообщение

Не по теме:

GetVariable, можно поинтересоваться? Зачем Вы используете геттеры в методах этого же класса вместо прямого обращения к переменным? В них содержатся сложные описания или что?

Действительно, наверно было избыточно применять геттеры.
Yandex
Объявления
10.06.2013, 23:07     Операция постинкремента
Ответ Создать тему
Опции темы

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