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

Расшифровка синтаксиса - C++

Восстановить пароль Регистрация
 
hepr
 Аватар для hepr
60 / 32 / 5
Регистрация: 21.10.2010
Сообщений: 538
11.05.2011, 19:29     Расшифровка синтаксиса #1
есть код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
сlass Foo
{
public:
  Foo()
    : i(0)
  {
    std::cout << "CONSTRUCTED" << std::endl;
  }
  ~Foo()
  {
    std::cout << "DESTRUCTED" << std::endl;
  }
  int i;
};
Не подскажите что обозначает Foo()
: i(0), Foo() это понятно конструктор а вот что такое :i(0) и как это работает

 Комментарий модератора 
Используйте теги форматирования кода!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.05.2011, 19:29     Расшифровка синтаксиса
Посмотрите здесь:

нужна расшифровка C++
расшифровка операторов C++
Расшифровка C++
C++ Расшифровка
AES. Расшифровка C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ValeryLaptev
Эксперт C++
1005 / 784 / 46
Регистрация: 30.04.2011
Сообщений: 1,595
11.05.2011, 19:36     Расшифровка синтаксиса #2
Foo - это "фу-у-у"...
Причем, с гримаской типа "плохо пахнет"...
А про что ты спрашиваешь - это список инициализации конструктора.
Работает ДО начала исполнения тела конструктора.
blazonic
Videor venisse
125 / 106 / 3
Регистрация: 19.02.2010
Сообщений: 221
11.05.2011, 19:39     Расшифровка синтаксиса #3
Цитата Сообщение от hepr Посмотреть сообщение
: i(0)
Это инициализация переменной i, в данном случае она равна 0. Вы можете в скобках прописать какое угодно целое значение.
HighPredator
 Аватар для HighPredator
5352 / 1735 / 320
Регистрация: 10.12.2010
Сообщений: 5,120
Записей в блоге: 3
11.05.2011, 19:40     Расшифровка синтаксиса #4
Цитата Сообщение от hepr Посмотреть сообщение
:i(0)
эквивалентно
C++
1
i=0;
rangerx
1908 / 1517 / 139
Регистрация: 31.05.2009
Сообщений: 2,876
11.05.2011, 20:53     Расшифровка синтаксиса #5
Цитата Сообщение от hepr Посмотреть сообщение
Foo() это понятно конструктор а вот что такое :i(0) и как это работает
вызов конструктора для переменной i(для встроенных типов такого понятия как "конструктор" нет, но смысл я думаю понятен). Т.е. это тоже самое, что и
C++
1
int i(0); // или более привычная запись int i = 0;
hepr
 Аватар для hepr
60 / 32 / 5
Регистрация: 21.10.2010
Сообщений: 538
11.05.2011, 21:06  [ТС]     Расшифровка синтаксиса #6
Спасибо!
Yandex
Объявления
11.05.2011, 21:06     Расшифровка синтаксиса
Ответ Создать тему
Опции темы

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