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

Как это вернуть? - C++

Восстановить пароль Регистрация
 
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
30.03.2014, 09:55     Как это вернуть? #1
Есть класс
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class TUID
{
 private:
  unsigned char Data[64];
 public :
  TEntityKind Kind;
  TUID ();
  TUID (TEntityKind Kind);
  TUID (const TUID &Original);
 ~TUID ();
  TUID &operator = (const TUID &Original);
  TUID &operator ++ ();
  bool operator == (TUID Compare);
  bool operator != (TUID Compare);
  void ReSet ();
  bool SetKind (TEntityKind Kind);
  bool CompareKind (TEntityKind Kind) const;
};
, есть функция, возвращающая значение типа TUID. Можно, не объявляя именованную локальную переменную типа TUID вернуть значение, равное устанавливаемому дефолтным конструктором?
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
recoder
 Аватар для recoder
129 / 129 / 28
Регистрация: 13.09.2013
Сообщений: 260
Записей в блоге: 2
30.03.2014, 09:57     Как это вернуть? #2
использовать this? или я не правильно понял?
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
30.03.2014, 09:59  [ТС]     Как это вернуть? #3
Вернуть такое значение должен не метод, а обычная глобальная функция.
palva
 Аватар для palva
2373 / 1595 / 190
Регистрация: 08.06.2007
Сообщений: 6,364
Записей в блоге: 4
30.03.2014, 10:14     Как это вернуть? #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Можно. Будет создана временная переменная. Но возвращаемое значение логично сразу же использовать (присвоить) иначе оно потеряется.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
using namespace std;
 
class TUID
{
 private:
  unsigned char Data[64];
 public :
     unsigned char getD() {return Data[0];}
  TUID () {Data[0]='f';}
}
 
fun() {return TUID();}
 
int main() {
    TUID t;
    t=fun();
    cout << t.getD() << endl; // f
    return 0;
}
Yandex
Объявления
30.03.2014, 10:14     Как это вернуть?
Ответ Создать тему
Опции темы

Текущее время: 14:26. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru