Время жизни агрегированных объектов в точности совпадает с временем жизни агрегата, т.к. агрегат непосредственно обеспечивает создание и уничтожение агрегированных объектов.
Основная задача класса: при создании ссылки на агрегированный объект косвенно увеличивать кол-во ссылок на агрегата, а при потере - уменьшать. Т.о. агрегат будет существовать, пока есть ссылки на него или на его агрегированные объекты.
Аггрегированные объекты могут быть полями класса-агрегата или создаваться в динамической памяти. В последнем случае для доступа к агрегированному объекту следует использовать обычный указатель, т.к. использование ссылочного приведет к созданию косвенной ссылки на себя.
Данный класс обеспечивает многопоточность.
См. определение в файле AggregatedBase.h строка 33
Защищенные члены | |
AggregatedBase (IRefObject *Aggregate) | |
Конструктор. | |
virtual | ~AggregatedBase () |
Виртуальный деструктор. |
Cntm::AggregatedBase::AggregatedBase | ( | IRefObject * | Aggregate | ) | [protected] |
Конструктор.
Исключение: NullArgException если аргумент Aggregate равен NULL.
См. определение в файле AggregatedBase.cpp строка 17
virtual Cntm::AggregatedBase::~AggregatedBase | ( | ) | [inline, protected, virtual] |
© Овсеевич Р.В. Документация по CntmLib 1.1.4 от 28 May 2008. Создано системой 1.5.3 |