Проектирование модели данных
От: dorofeevilya Россия  
Дата: 25.07.07 07:05
Оценка:
Существует абстрактный базовый класс A :
class Generic_A
{
};


От него отнаследованы еще 4 класса:
class Derived_A1 : public Generic_A { ... };
class Derived_A2 : public Generic_A { ... };
class Derived_A3 : public Generic_A { ... };
class Derived_A4 : public Generic_A { ... };


Также существует класс B, который агрегирует в себе объект класса A (а точнее одного из его наследников):
class B
{
    Generic_A* a;
};


Но в связи с особенностями предметной области класс B может агрегировать только либо Derived_A1, либо Derived_A2, либо Derived_A3, но не Derived_A4. Также существует класс C:
class C
{
    Generic_A* a;
};


Он может агрегировать только либо Derived_A2, либо Derived_A3.

Как лучше смоделировать такую ситуацию?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.