Инициализация. Структурные компоненты класса. Конструкторы.


Использование таких функций как setday() для инициализации объектов класса неэффективно и имеет тенденцию к ошибкам. Наилучший подход заключается в том чтобы разрешить программисту объявлять функцию с явной целью инициализации объекта. Т.к. такая функция образует значения разного толка, то она называется конструктором. Конструктор распознается по тому же имени что и класс.
Class date {
//…
date(int, int, int);
};
Если класс имеет конструктор, все объекты этого класса будут проинициализированы. Если конструктор имеет аргументы, то они должны быть ему переданы.
Часто бывает желательно обеспечить несколько способов инициализации. Это можно сделать обеспечив несколько конструкторов.
Class date {
Int day, Month, Year;
Public:
//…
date(int, int, int); //месяц, день, год
date(char *); // дата «строка»
date(int); // сегодняшний день, месяц, год
date(); // дата по умолчанию
};

date today(4);
date July 4(«July 4, 1999»);
date now ();

Загрузка...