Композиция на основе структур
Структура – тип данных, который позволяет определять в рамках единого целого поля разных типов и методы их обработки. В этом смыс- ле структура аналогична классу.
Отличия от класса (основные)
1. Структуры относятся к типам значения, т.е. при присваивании од- ной структуры другой происходит копирование не ссылки, а всех полей структуры.
Копирование выполняется поверхностное (с полей значения снимается копия значений, с полей ссылок снимается копия ссыл- ки).
Таким образом, задача создания осветительного прибора, не допускающего замены корпуса и лампочки, может быть решена с помощью кода абсолютно идентичного коду базового примера пу-
тем замены классов Корпус, Лампочка, Прибор, путем замены клас- сов на структуры.
class à struct
2. Для структур не поддерживается механизм наследования.
Прочие отличия
1. Конструктор по умолчанию для структур невозможно переопреде- лить, он всегда есть и всегда доступен. Можно добавить конструк- тор с параметрами.
2. Создания объекта типа stuct не требует операции new. Но в этом случае поля структуры будут неопределенными по значению.
3. При определении структуры запрещена инициализация полей.
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.