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

Двоеточие в конструкторе - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Мультитипная переменная http://www.cyberforum.ru/cpp-beginners/thread620279.html
Объясните, пожалуйста, новичку, если не сложно, как создать переменную с несколькими типами возможных данных(или без типа?) на примере... int, double x; // Что должно быть вместо этой строки? cin >> x; cout << x*2;
C++ Мультитипная переменная Объясните, пожалуйста, новичку, если не сложно, как создать переменную с несколькими типами возможных данных(или без типа?) на примере... int, real x; // Что должно быть вместо этой строки? cin >> int; cout << int*2; http://www.cyberforum.ru/cpp-beginners/thread620277.html
C++ Блоки памяти
такая ситуация: выделяю память под массив интов, но пишу там не везеде, в некоторых местах дефолтная "грязь". Потом скидываю это дело на диск в бинарный файл. вижулстудия умеет показывать hex и выводит везде, где грязь CD но курсивно, а не как обычный hex. возникает вопрос: как понять где грязь мне? (точнее как это делает вижулстудия)
Совмещение union и class C++
class A { public: A(){} }; class B { public: B(){}
C++ namespace http://www.cyberforum.ru/cpp-beginners/thread620253.html
Сколько читаю форумы и прочее, видел только namespace std. какие еще бывают и зачем они нужны?
C++ Разница между char и signed char Не понимаю в чем разница между char и signed char, ведь char по умолчанию знаковый. Не комплилируется следующий фрагмент кода: void f(char&){} int main(){ signed char sc; f(sc); return 0; } подробнее

Показать сообщение отдельно
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
07.07.2012, 08:13     Двоеточие в конструкторе
Цитата Сообщение от Ksan Посмотреть сообщение
C++
1
2
3
4
5
class A
{
    public:
        A():
};

Что означает двоеточие и что туда надо писать?
Список инициализаторов. Например:
C++
1
2
3
4
5
6
7
8
class A
{
int x;
char y;    
public:
        A(): x(2), y('a')
        {}
};
А можно так написать:
C++
1
2
3
4
5
6
7
8
9
10
11
class A
{
int x;
char y;    
public:
        A()
       {
          x = 2;
          y = 'a';
       }
};
В первом случае, инициализация переменных класса, происходит до вхождения в тело конструктора.
Используется, обычно, если нужно проинициализировать ссылочные или константные переменные класса, или при наследовании, когда сначала нужно проинициализировать переменные базового класса.
Применяется только с конструкторами.
 
Текущее время: 08:01. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru