Программирование на С++. Рейзлин В.И. - 23 стр.

UptoLike

Составители: 

25
Лабораторная работа 3
ИЕРАРХИЯ ОБЪЕКТОВ И ГРУППА. ИТЕРАТОРЫ
Цель. Получить практические навыки создания объектов-групп и
использования методов-итераторов.
Основные теоретические сведения
Группа
Группа это объект, в который включены другие объекты. Объекты,
входящие в группу, называются элементами группы. Элементы группы, в
свою очередь, могут быть группой.
Примеры групп:
1. Окно в интерактивной программе, которое владеет такими элемен-
тами, как поля ввода и редактирования данных, кнопки, списки выбора,
диалоговые окна и т.д. Примерами таких окон являются объекты классов,
порожденных от абстрактного класса TGroup( TDeskTop, TWindow, TDia-
log) в иерархии классов библиотеки Turbo Vision, и объекты классов, по-
рожденных от TWindowObject в иерархии классов библиотеки OWL.
2. Агрегат, состоящий из более мелких узлов.
3. Огород, состоящий из растений, системы полива и плана выращи-
вания.
4. Некая организационная структура (например, ФАКУЛЬТЕТ, КА-
ФЕДРА, СТУДЕНЧЕСКАЯ ГРУППА).
Мы отличаем группу” от “контейнера”. Контейнер используется
для хранения других данных. Примеры контейнеров: объекты класса TCol-
lection библиотеки Turbo Vision и объекты контейнерных классов библио-
теки STL в C++ (массивы, списки, очереди).
В отличие от контейнера мы понимаем группу как класс, который не
только хранит объекты других классов, но и обладает собственными свой-
ствами, не вытекающими из свойств его элементов.
Группа дает второй вид иерархии (первый вид иерархия классов,
построенная на основе наследования) иерархию объектов (иерархию ти-
па целое/часть), построенную на основе агрегации.
Реализовать группу можно несколькими способами:
1. Класс “группа” содержит поля данных объектного типа. Таким об-
разом, объект группа” в качестве данных содержит либо непосредственно
свои элементы, либо указатели на них
class TWindowDialog: public TGroup
{