Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/8: Рейтинг темы: голосов - 8, средняя оценка - 4.50
noddoh
0 / 0 / 0
Регистрация: 18.03.2013
Сообщений: 11
#1

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

24.01.2014, 22:33. Просмотров 1400. Ответов 4
Метки нет (Все метки)

В 4 строчке после параметра в скобочках нету ";" или же тела функции, что не сходится с моим шаблоном в голове. Поясните пожалуйста что означает двоеточие и то что идет после него (в общем виде, а не конкретный пример).

C++
1
2
3
4
5
6
7
8
class MyClass {
    public:
        MyClass(){}
        MyClass(int i) : m_i(i) {}
 
        private:
        int m_i;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.01.2014, 22:33
Ответы с готовыми решениями:

Что означает двойное двоеточие в коде
Что в с++ значит вот это ::

Что означает двоеточие в наследовании конструктора?
При изучении ООП в рамках языка c++ столкнулся с интересной формой обьявления...

Что означает двойное двоеточие в vector<int>::iterator it ?
Никак не могу понять как взаимоувязаны две сущности: контейнеры и итераторы. ...

скажите пожалуйста, что означает здесь b. ,это какия-либо функция или что?
скажите пожалуйста, что означает здесь b. ,это какия-либо функция или что? ...

Пожалуйста подскажите, что означает оператор!
Доброго времени суток. Перевожу Сишный исходник в Делфи и столкнулся с такой...

4
MrGluck
Модератор
Эксперт CЭксперт С++
8077 / 4929 / 1431
Регистрация: 29.11.2010
Сообщений: 13,357
24.01.2014, 22:35 #2
Когда мы объявляем прототип функции, то пишем ;
Когда совмещаем объявление и реализацию, то ; писать уэе не нужно.
Здесь второй вариант.
0
Убежденный
Ушел с форума
Эксперт С++
15954 / 7266 / 1178
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 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)
{
}
Аналогичным образом можно инициализировать ссылки, константы и
подобъекты базовых классов. Точнее говоря, это единственный способ
их инициализации.
1
noddoh
0 / 0 / 0
Регистрация: 18.03.2013
Сообщений: 11
24.01.2014, 22:45  [ТС] #4
Спасибо, тема закрыта
0
MrGluck
Модератор
Эксперт CЭксперт С++
8077 / 4929 / 1431
Регистрация: 29.11.2010
Сообщений: 13,357
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 секунд
На больших объектах это обойдется весьма дорого.
1
24.01.2014, 22:52
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.01.2014, 22:52

Объясните пожалуйста что означает произвольная RSH
Мне задали написать программу &quot;Реализация симплекс метода с произвольной RHS&quot;....

Пожалуйста объясните Что означает каждая строчка
Что означает каждая строчка, объясните кому не трудно, а то ничего не понятно:...

Что означает тип переменной после new?
Добрый день! Подскажите, пожалуйста. Есть код создания памяти для переменной....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru