С++ для начинающих Конструктор класса с параметрами. Передача в конструктор класса значений

Конструкторы очень сильно напоминают функции. Иногда в класс надо передавать от одного до нескольких значений, подобно аргументам функций. Простейшая ситуация такой необходимости: инициализация переменных, закрытых классом секцией private.

Вот чтобы задать начальное значение приватной переменной, использовался конструктор с параметром. Вообще, в конструктор, как и в любую функцию, можно отдавать аргументы, число которых не ограничено. Поскольку мы только знакомимся с конструктором с параметрами, начинаем смотреть с необходимости отдачи в класс одного аргумента, представляющего собой значение для инициализации внутренней переменной класса. Передача возможна транзитом через конструктор класса:

В общем, чтобы отдать значение для инициализации переменной, сокрытой в классе, нужно отдавать значение транзитом через конструктор. Можно отдавать сколько угодно значений:

Несложно заметить, что всё точно так же, как при передаче параметров в функции, только после приёма конструктором параметров, значения параметров уходят в нужную переменную класса. Своеобразный тайник: мы, как программисты, кладём в тайник значение, а значение класса из тайника значение вытаскивает.
Вы часто будете видеть сокращённую форму записи:

Листинг #3 то же, что и листинг #2.2

Для сокращённой формы записи используют приблизительно такой синтаксис:

ИмяКласса (ИмяПараметра1, ИмяПарамера2, ИмяПараметра3) : ИмяПеременной1(ИмяПараметра1), ИмяПеременной2(ИмяПараметра2), ИмяПеременной3(ИмяПараметра3){ Это блок кода конструктора  }
                

Чтобы было проще понять: в круглых скобках список параметров через запятую, потом одинарное двоеточие и перечень переменных класса, а в круглых скобках значения для переменных класса, после чего завершается всё фигурными скобками, обозначающими блок кода конструктора. В этих фигурных скобках, писать код для вывода каких-то информационных сообщений. Это как обычный блок функции.
Чтобы было проще понять сам процесс транзита значения, представьте себе эстафету: значение —> параметр конструктора -> конечная переменная.
Вызов конструктора происходит при объявлении объекта с круглыми скобками и наличествующими в них параметрами. Это как с функциями. Т. е. само объявление объекта выглядит как вызов функции, за исключением того, что перед названием объявляемого объекта обозначается тип, (класс, представителем которого объект станет).
Все комментарии на сайте проверяются, поэтому ваш комментарий может появиться не сразу. Для вставки кода в комментарий используйте теги: [php]ВАШ_КОД[/php]

Добавить комментарий

Ваш e-mail не будет опубликован.

42 − = 35

Поиск

 
     

Случайная книга в электронном формате

https://www.litres.ru/igor-simdyanov/php-praktika-sozdaniya-web-saytov-2902167/?lfrom=15589587
Яндекс.Метрика
НАГРАДИ АВТОРА САЙТА
WEBMONEY
R375024497470
U251140483387
Z301246203264
E149319127674

Отец перед сном рассказывает сыну сказку: - Жил на свете богатый человек. Купил он себе самый лучший компьютер и кучу лицензионных программ. - Пап, а как это - лицензионных? - Спи, сынок, я же сказал - это сказка! . .

Выражаю свою признательность

  • Максиму очень признателен за указание на мои ошибки и неточности.
  • Sergio ===> за оказание помощи в исправлении моих ошибок
  • Gen ===> за правильное стремление помочь другим новичкам и выявления моих ошибок