9
ответов

Что делает двоеточие после имени конструктора C++, делают? [дубликат]

Что делает оператор двоеточия (": "), делают в этом конструкторе? Это эквивалентный MyClass (m_classID =-1, m_userdata = 0);? класс MyClass {общественность: MyClass (): m_classID (-1), m_userdata (0) {}...
вопрос задан: 22 July 2013 10:49
8
ответов

Что является этим странным участником двоеточия (“”:) синтаксис в конструкторе?

Недавно я видел пример как следующее: #include <iostream> класс Foo {общественность: международная панель; Foo (международная цифра): панель (цифра) {};}; международное основное (пустота) {станд.:: суд <<Foo (42) .bar <<...
вопрос задан: 22 March 2017 06:25
7
ответов

Сложная инициализация полей константы

Рассмотрите класс как этот: класс MyReferenceClass {общественность: MyReferenceClass (); константа двойной ImportantConstant1; константа двойной ImportantConstant2; константа двойной ImportantConstant3;...
вопрос задан: 23 May 2017 12:33
6
ответов

Как инициализировать поле константы в конструкторе?

Предположите, что у меня есть класс C++ Foo и класс Панель, которая должна быть создана с конструктором, в котором передается указатель Foo, и этот указатель предназначен, чтобы остаться неизменным в жизненный цикл экземпляра Панели...
вопрос задан: 30 October 2010 09:19
4
ответа

Пустые инициализаторы предпочтены для значения по умолчанию, инициализирующего интегральных участников?

Я просто прочитал комментарий GMan что класс A {общественность: (): m_ptr ()//m_ptr неявно инициализируется к ПУСТОМУ УКАЗАТЕЛЮ {}}; должен быть предпочтен по классу A {общественность: (): m_ptr (...
вопрос задан: 23 May 2017 12:03
4
ответа

Как поля класса могут быть инициализированы?

Определенный основной вопрос, но я испытываю затруднения при разыскивании категорического ответа. Действительно ли списки инициализатора являются единственным способом инициализировать поля класса в C++ кроме присвоения в методах? В...
вопрос задан: 30 October 2010 09:17
3
ответа

Переменные после двоеточия в конструкторе [дубликат]

Я все еще изучаю C++ и пытаюсь понять это. Я просматривал некоторый код и пилу: point3 (пускают в ход X, пускают в ход Y, пускают в ход Z): x (X), y (Y), z (Z)//<-----, что является используемым для {}, Что...
вопрос задан: 30 August 2018 09:31
3
ответа

Участник класса ссылки константы продлевает жизнь временного файла?

Почему делает это: #include <строка> #include <iostream> использование станд. пространства имен; класс Песочница {общественность: Песочница (константа string& n): участник (n) {} константа string& участник;}; интервал...
вопрос задан: 17 August 2018 23:40
3
ответа

Что означает двоеточие в конструкторе? [duplicate]

Возможные дубликаты: странный синтаксис конструктора C ++ Переменные после двоеточия в конструкторе Что делает двоеточие (:) после имени конструктора C ++? Для функции C ++ ниже: cross (...
вопрос задан: 23 May 2017 12:29
1
ответ

Список инициализатора *аргумент* порядок оценки

Так, стандарт C++ требует, чтобы участники класса были инициализированы в порядке, в котором они объявляются в классе, а не порядке, что они упоминаются в списке инициализатора любого конструктора....
вопрос задан: 25 June 2014 01:45
0
ответов

зависимые классы, как и другие члены класса

У меня есть класс B, который требует экземпляр класса A, который будет построен: класс B {B (A * a); // нет конструктора по умолчанию }; Теперь я хочу создать класс, который содержит B в качестве члена, поэтому я ...
вопрос задан: 19 June 2014 11:09
0
ответов

Зависимости в списках инициализации

Хорошо ли определено это поведение? класс Foo {int A, B; public: Foo (int Bar): B (Bar), A (B + 123) {} }; int main () {Foo MyFoo (0); возврат 0; }
вопрос задан: 19 June 2014 08:28
0
ответов

Чистый способ необязательного включения членов в C ++ ctor-initializer

Если у меня есть: Class MyClass {public: MyClass (/ * args * /); private: someType member0; someType member1; // ... someType memberN; #ifопределено (FIRST_COMPILE_CONDITION) someType ...
вопрос задан: 12 September 2012 20:30
0
ответов

Инициализация массива-члена в инициализаторе конструктора

класс C {public: C (): arr ({1,2,3}) // не компилируется {} / * C (): arr {1,2,3} // также не компилируется {} * / private: int arr [3]; }; Я считаю, что причина в том, что массивы могут быть ...
вопрос задан: 24 July 2012 06:04
0
ответов

C ++: Следует ли инициализировать элементы-указатели, которые присвоены в теле конструктора, значением NULL?

Предположим, у меня есть: // MyClass.h класс MyClass {общедоступные: MyClass (); private: Something * something _; } // MyClass.cpp MyClass :: MyClass () {something_ = new Something (); } Должен ли я. ..
вопрос задан: 27 September 2011 20:47