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

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

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

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

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

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

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

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

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

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Поиск

 
     

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

https://www.litres.ru/elizabet-robson/izuchaem-programmirovanie-na-javascript-9523650/?lfrom=15589587
Яндекс.Метрика