Использование конструкторов с аргументами по умолчанию
Конструктор без параметров называют конструктором по умолчанию. Такой конструктор обычно присваивает переменным-членам класса наиболее часто используемые значения. Например, в описанном выше примере класса my_Time используется конструктор по умолчанию.
my_Time() { hours = 0; minutes = 0; }
В нем переменным hours и minutes присваиваются нулевые значения. Таким образом, после создания экземляра объекта типа my_Time, он будет содержать вполне допустимые значения, а не "мусор".
Для каждого класса может существовать только один конструктор по умолчанию.
Если для класса не определено никакого конструктора, компилятор создает конструктор по умолчанию. Такой конструктор не задает никаких начальных значений. Поэтому, если необходимо, чтобы перед использованием объекта данным-членам класса были присвоены начальные значения или же нужно выполнить другие задачи инициализации, например, динамически выделить память под объект, то Вы должны будете определить собственный конструктор.
Если класс имеет конструктор по умолчанию (определенный программистом или созданный компилятором), можно определить объект класса без передачи параметров, например:
my_Time time1;
- 25. Понятие объекта и класса.
- Определение методов класса
- Переопределение операций
- Подписи методов и необязательные аргументы
- Запись классов
- 26. Скрытие данных и общий интерфейс.
- 27. Конструкторы и деструкторы Инициализация объектов класса: конструкторы
- Основное назначение конструкторов - инициализация объектов.
- Использование конструкторов с аргументами по умолчанию
- Если параметры не передаются конструктору, в определении объекта не нужно включать пустые круглые скобки.
- Использование деструкторов
- Когда вызываются конструкторы и деструкторы.
- 28. Перегрузка классов.
- Перегрузка операторов плюс и минус
- Второй пример
- Операторы, которые Вbl he можете перегрузить
- 29. Дружественные классы.
- 30. Наследование.
- Внутреннее и защищенное наследование
- Виртуальное наследование
- 31. Множественное наследование.
- 32. Полиморфизм.
- 33. Виртуальная функция.
- 34. Передача данных по умолчанию.
- 39. Создание и уничтожение динамических объектов.
- 40. Динамические библиотеки (dll).