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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
NEIKR
8 / 1 / 2
Регистрация: 07.12.2014
Сообщений: 15
#1

Конструктор с параметром C++ - C++

13.07.2015, 17:11. Просмотров 307. Ответов 9
Метки нет (Все метки)

Приветствую! Изучая одну литературу столкнулся с конструктором в котором мне не понятен синтаксис т.к. во время обучения самого С++ не сталкивался с ним. Объясните пожалуйста.
C++
1
2
3
4
5
6
7
8
9
10
11
12
struct func
{
         int& i;
         func(int& i_) : i(i_) {}//собственно конструктор который не понятен, объясните как он работает, и если можно напишите аналог
         void operator() ()
         {
                  for(usigned j=0;j<1000000;++j)
                  {
                           do_something(i);
                  }
         }
};
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kollap
6 / 6 / 4
Регистрация: 13.07.2015
Сообщений: 23
13.07.2015, 17:38     Конструктор с параметром C++ #2
func(int& i_)
{
i = i_;
}
NEIKR
8 / 1 / 2
Регистрация: 07.12.2014
Сообщений: 15
13.07.2015, 17:42  [ТС]     Конструктор с параметром C++ #3
Т.е. по факту таким образом
C++
1
func(int& i_) : i(i_) {}
можно задать только одно действие, правильно я понимаю?
Renji
1753 / 1180 / 274
Регистрация: 05.06.2014
Сообщений: 3,398
13.07.2015, 17:44     Конструктор с параметром C++ #4
Цитата Сообщение от NEIKR Посмотреть сообщение
собственно конструктор который не понятен, объясните как он работает, и если можно напишите аналог
Он не имеющий аналогов в мире, потому как ссылку (не указатель) в структуре можно инициализировать только так.
Цитата Сообщение от NEIKR Посмотреть сообщение
можно задать только одно действие, правильно я понимаю?
Можно и больше, если через запятую. Но если инициализировать поля будете не в порядке объявления, компилятор будет ругаться.
Kollap
6 / 6 / 4
Регистрация: 13.07.2015
Сообщений: 23
13.07.2015, 17:44     Конструктор с параметром C++ #5
кому как нравится)
Avazart
7044 / 5221 / 259
Регистрация: 10.12.2010
Сообщений: 22,947
Записей в блоге: 17
13.07.2015, 17:53     Конструктор с параметром C++ #6
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от NEIKR Посмотреть сообщение
func(int& i_) : i(i_) {}//собственно конструктор который не понятен, объясните как он работает, и если можно напишите аналог
Когда надо использовать списки инициализации, а когда можно заменить их констуктором по умолчанию?

Добавлено через 1 минуту
Цитата Сообщение от Kollap Посмотреть сообщение
кому как нравится)
Списку инициализации стоит отдавать предпочтения.
Хотя с учетом С++11 есть еще и другие способы инициализации.
NEIKR
8 / 1 / 2
Регистрация: 07.12.2014
Сообщений: 15
13.07.2015, 17:56  [ТС]     Конструктор с параметром C++ #7
Спасибо большое, благодаря ссылки на тему разобрался, что это за синтаксис и для чего он
Raali
622 / 326 / 34
Регистрация: 06.07.2013
Сообщений: 1,049
Завершенные тесты: 1
13.07.2015, 17:59     Конструктор с параметром C++ #8
Цитата Сообщение от Avazart Посмотреть сообщение
Хотя с учетом С++11 есть еще и другие способы инициализации.
просвятите пожалуйста примером
Avazart
7044 / 5221 / 259
Регистрация: 10.12.2010
Сообщений: 22,947
Записей в блоге: 17
13.07.2015, 18:04     Конструктор с параметром C++ #9
А примеры вроде по ссылке есть, где инициализация там же где и объявление.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.07.2015, 18:06     Конструктор с параметром C++
Еще ссылки по теме:

конструктор с параметром C++
Компиляция с параметром C++
C++ Цикл с параметром
C++ Циклы с параметром
Конструктор с параметром-объектом того же класса C++

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

Или воспользуйтесь поиском по форуму:
Renji
1753 / 1180 / 274
Регистрация: 05.06.2014
Сообщений: 3,398
13.07.2015, 18:06     Конструктор с параметром C++ #10
Цитата Сообщение от Raali Посмотреть сообщение
просвятите пожалуйста примером
C++
1
2
3
4
5
struct test
{
    int x=0;
    const double y=1;
};
Yandex
Объявления
13.07.2015, 18:06     Конструктор с параметром C++
Ответ Создать тему
Опции темы

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