Форум программистов, компьютерный форум, киберфорум
Наши страницы

Перегрузка оператора ++ - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ что означают эти 0x378 или 888 в языке C++? http://www.cyberforum.ru/cpp-beginners/thread24822.html
Привет. Объясните пожалуйста, что означают эти 0x378 или 888 в языке C++? Где можно взглянуть на таблицу этих адресов? Как их считать? Спасибо
C++ Можно ли коробку размером a\b\c упаковать в посылку размером r\s\t ? Условие:Можно ли коробку размером a\b\c упаковать в посылку размером r\s\t ? Углом коробку уложить нельзя. коробку упаковывается при одинаковых размерах коробки и посылки. Формат входных данных: .... http://www.cyberforum.ru/cpp-beginners/thread24808.html
List и абстрактный класс C++
Доброго времени суток. Есть интересная ситуация. Допустим у нас есть абстрактный клас Book. class Book { public: Book(void); Book(char *a, char *b); ~Book(void); char name; char author;
отрисовка нестандартной штриховки средствами GDI. Как? C++
Доброго времени суток! встала проблема отрисовки штриховки, отличающейся от стандартной CreateHatchBrush. Цель - получить кисть, которой можно пользоваться как обычной, но у которой имеются фоновые и...
C++ Too few arguments to function. Почему? http://www.cyberforum.ru/cpp-beginners/thread24781.html
Здравствуйте! Есть программа, которая при компиляции вываливается с ошибкой. Нужно эту ошибку найти. #include <iostream> #include <string> using namespace std; void func (double cena,...
C++ Прошу коллективной помощи! Добрый день! Стоит задача создать программу на C, которая бы умела: - обращаться к нескольким внешним программам, а именно поочередно запускала их и отправляла им определенного рода информацию... подробнее

Показать сообщение отдельно
Викдон
67 / 67 / 4
Регистрация: 21.11.2008
Сообщений: 226

Перегрузка оператора ++ - C++

03.03.2009, 00:13. Просмотров 1594. Ответов 11
Метки (Все метки)

вот простенькая прога:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include "stdafx.h"
#include "iostream"
 
using namespace std;
 
 
class My{
public:
    My(){itsAge=0;}
    ~My(){}
    My(int a):itsAge(a){}
    void Set(int a){itsAge=a;}
    
    const My& operator ++ (){
                itsAge++;
       My Temp(itsAge);
      return  Temp;
    }
private:
    int itsAge;
 
};
  
 
int main()   
{    
    My Frisky;
    Frisky.Set(5);
     My One=++Frisky;
 
     
 
 
    return 0;   
}
Вот в чем возник вопрос: operator ++ возвращает ссылку на класс My, а точнее на локальный объект Temp. Но при возвращении из operator++ Temp удаляется и получается operator++ возвращает ссылку на несуществующий объект? Но в строке
C++
1
My One=++Frisky;
объекту One присваивается нужное значение? почему?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru