Что происходит в этой части кода C ++?(Разрешение оператора с наследованием?!?) - PullRequest
0 голосов
/ 18 января 2012

Я не знаю, что происходит в этом куске кода. это из рабочего кода, который я должен понять.

orange::orange():
  hello_short(false),
  hello_long(false),
  foo(NULL),
  foo2(NULL),
  quiet(false)
{
  res  = NULL;
  good = true;
}

Ответы [ 2 ]

5 голосов
/ 18 января 2012
orange::orange():

simplies говорит, что вы определяете функцию класса orange (левая часть), функция называется «orange» (правая часть) и не принимает аргументов. Поскольку функция названа так же, как класс и не возвращает значения, она является конструктором вашего класса

Остальное - список инициализации: http://www.cprogramming.com/tutorial/initialization-lists-c++.html

1 голос
/ 18 января 2012

Инициализирует членов класса с заданными значениями (hello_short будет false, hello_long будет false, foo будет NULL и т. Д.), Устанавливает res в NULL и устанавливает good в true.

Список инициализации всегда выполняется до выполнения конструктора (т. е. кода в фигурных скобках).

Также, есть синтаксическая ошибка: после foo2(NULL) должна стоять запятая.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...