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

Поясните пожалуйста что означает двоеточие и то что идет после него - C++

Восстановить пароль Регистрация
 
noddoh
0 / 0 / 0
Регистрация: 18.03.2013
Сообщений: 11
24.01.2014, 22:33     Поясните пожалуйста что означает двоеточие и то что идет после него #1
В 4 строчке после параметра в скобочках нету ";" или же тела функции, что не сходится с моим шаблоном в голове. Поясните пожалуйста что означает двоеточие и то что идет после него (в общем виде, а не конкретный пример).

C++
1
2
3
4
5
6
7
8
class MyClass {
    public:
        MyClass(){}
        MyClass(int i) : m_i(i) {}
 
        private:
        int m_i;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4925 / 2668 / 243
Регистрация: 29.11.2010
Сообщений: 7,421
24.01.2014, 22:35     Поясните пожалуйста что означает двоеточие и то что идет после него #2
Когда мы объявляем прототип функции, то пишем ;
Когда совмещаем объявление и реализацию, то ; писать уэе не нужно.
Здесь второй вариант.
Убежденный
Системный программист
 Аватар для Убежденный
14209 / 6224 / 987
Регистрация: 02.05.2013
Сообщений: 10,368
Завершенные тесты: 1
24.01.2014, 22:37     Поясните пожалуйста что означает двоеточие и то что идет после него #3
Такая запись - это называется список инициализации конструктора.
Например:
C++
1
2
3
4
struct foo
{
     int Value;
};
В конструкторе foo член Value можно проинициализировать по-разному.
Можно так:
C++
1
2
3
4
foo()
{
    Value = 123;
}
А можно так:
C++
1
2
3
foo() : Value(123)
{
}
Аналогичным образом можно инициализировать ссылки, константы и
подобъекты базовых классов. Точнее говоря, это единственный способ
их инициализации.
noddoh
0 / 0 / 0
Регистрация: 18.03.2013
Сообщений: 11
24.01.2014, 22:45  [ТС]     Поясните пожалуйста что означает двоеточие и то что идет после него #4
Спасибо, тема закрыта
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4925 / 2668 / 243
Регистрация: 29.11.2010
Сообщений: 7,421
24.01.2014, 22:52     Поясните пожалуйста что означает двоеточие и то что идет после него #5
В дополнении к прошлому ответу:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <iostream>
 
struct B
{
    B()    { std::cout << "B()\n"; }
    B(int) { std::cout << "B(int)\n"; }
    B& operator= (const B &) { std::cout << "B.operator=\n"; return *this; }
 
 
};
 
struct A
{
    A() : b(1) {}
    A(int)
    {
        b = 1;
    }
    B b;
};
 
int main()
{
    A a1;
    A a2(1);
}
Добавлено через 18 секунд
На больших объектах это обойдется весьма дорого.
Yandex
Объявления
24.01.2014, 22:52     Поясните пожалуйста что означает двоеточие и то что идет после него
Ответ Создать тему
Опции темы

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