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

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

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

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

13.07.2015, 17:11. Просмотров 348. Ответов 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);
                  }
         }
};
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.07.2015, 17:11
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Конструктор с параметром C++ (C++):

Будет ли определен компилятором конструктор по умолчанию, если есть конструктор с дефолтным параметром? - C++
Добрый день, сразу к делу, есть некий класс class some { int x; public: some(int y = 1) : x(y) {} };

конструктор с параметром - C++
не могу понять в чем причина. В конструкторе с параметром вызываю функцию анализа - она работает коряво - присваивает крайние значение из...

Конструктор с параметром по умолчанию - C++
Здравствуйте, знаю, что здесь про конструкторы много говорили, но я не смог решить свою проблему поэтому обращаюсь (хотя мне кажется что...

Конструктор класса с параметром - C++
Люди, помогите пожалуйста, а то скоро я кого-нибудь убью по-моему... Самое начало программы. Описываю первый класс. Подключил написанный...

Конструктор с параметром-объектом того же класса - C++
Была поставлена задача: определить конструктор с параметром-объектом того же класса, но я совсем не понимаю, что от меня требуется?...

Задача на классы, конструктор с параметром и по умолчанию - C++
Скомпилировал, запустил. Добавляю новые элементы... и все. Программа прекращает свою работу, окно закрывается. Этапы вывода новых...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Kollap
6 / 6 / 4
Регистрация: 13.07.2015
Сообщений: 23
13.07.2015, 17:38 #2
func(int& i_)
{
i = i_;
}
0
NEIKR
8 / 1 / 2
Регистрация: 07.12.2014
Сообщений: 15
13.07.2015, 17:42  [ТС] #3
Т.е. по факту таким образом
C++
1
func(int& i_) : i(i_) {}
можно задать только одно действие, правильно я понимаю?
0
Renji
1916 / 1314 / 298
Регистрация: 05.06.2014
Сообщений: 3,757
13.07.2015, 17:44 #4
Цитата Сообщение от NEIKR Посмотреть сообщение
собственно конструктор который не понятен, объясните как он работает, и если можно напишите аналог
Он не имеющий аналогов в мире, потому как ссылку (не указатель) в структуре можно инициализировать только так.
Цитата Сообщение от NEIKR Посмотреть сообщение
можно задать только одно действие, правильно я понимаю?
Можно и больше, если через запятую. Но если инициализировать поля будете не в порядке объявления, компилятор будет ругаться.
1
Kollap
6 / 6 / 4
Регистрация: 13.07.2015
Сообщений: 23
13.07.2015, 17:44 #5
кому как нравится)
0
Avazart
Эксперт С++
7190 / 5364 / 280
Регистрация: 10.12.2010
Сообщений: 23,669
Записей в блоге: 17
13.07.2015, 17:53 #6
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от NEIKR Посмотреть сообщение
func(int& i_) : i(i_) {}//собственно конструктор который не понятен, объясните как он работает, и если можно напишите аналог
Когда надо использовать списки инициализации, а когда можно заменить их констуктором по умолчанию?

Добавлено через 1 минуту
Цитата Сообщение от Kollap Посмотреть сообщение
кому как нравится)
Списку инициализации стоит отдавать предпочтения.
Хотя с учетом С++11 есть еще и другие способы инициализации.
1
NEIKR
8 / 1 / 2
Регистрация: 07.12.2014
Сообщений: 15
13.07.2015, 17:56  [ТС] #7
Спасибо большое, благодаря ссылки на тему разобрался, что это за синтаксис и для чего он
0
Raali
623 / 327 / 34
Регистрация: 06.07.2013
Сообщений: 1,061
Завершенные тесты: 1
13.07.2015, 17:59 #8
Цитата Сообщение от Avazart Посмотреть сообщение
Хотя с учетом С++11 есть еще и другие способы инициализации.
просвятите пожалуйста примером
0
Avazart
Эксперт С++
7190 / 5364 / 280
Регистрация: 10.12.2010
Сообщений: 23,669
Записей в блоге: 17
13.07.2015, 18:04 #9
А примеры вроде по ссылке есть, где инициализация там же где и объявление.
1
Renji
1916 / 1314 / 298
Регистрация: 05.06.2014
Сообщений: 3,757
13.07.2015, 18:06 #10
Цитата Сообщение от Raali Посмотреть сообщение
просвятите пожалуйста примером
C++
1
2
3
4
5
struct test
{
    int x=0;
    const double y=1;
};
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.07.2015, 18:06
Привет! Вот еще темы с ответами:

Конструктор с одним параметром и с переменным числом параметров - C++
пишу обычный класс, обычная лаба, где несколько конструкторов.применять одновременно в условии не сказано, но я решил помучатся и узнать...

Конструктор класса Token_stream с параметром istream& - C++
Здравствуйте, не могу понять задачу из книги Страуструпа ....напишите конструктор класса Token_stream с параметром istream&amp; так, чтобы,...

Почему нехорошо себя ведёт конструктор класса (не компилится ничё), если ему параметром ссылку на константу? - C++
То есть вообще непонятно ничё, вот, смотрите, этот пример не компилится: #include &lt;stdio.h&gt; class fee { public: //Не компилится ...

Не могу сделать чтобы класс содержал основной конструктор и конструктор копирования - C++
Разработать класс ThreeAngle для работы с плоскими треугольниками. В качестве членов-данных задаются длины трех сторон треугольника. Класс...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
13.07.2015, 18:06
Ответ Создать тему
Опции темы

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