Добрый день, пытаюсь спроектировать нетривиальную иерархию классов и есть некоторые сложности.
Проблема в следующем:
Есть три класса:
Класс A, B, C
Все три класса наследники одного базового класса AbstractBase.
Класс AbstractBase является часть класса ConecreteData который содержит еще один член m_A простого типа.
Единственное отличие наследников A,B, C друг от друга это поле Data. в классе A оно имеет размер byte. В классе B поле содержит объект ConecreteData инициированного с классом типа A в члене AbstractBase. Соответственно в классе С
член с типом AbstractBase на самом деле является типом B.
Примерную UML диаграмму можно увидеть в приложении.
Как мне кажется она ошибочна, на ней не видно того что класс ConecreteData является шаблоном. Можно ли спроектировать эту зависимость без использования шаблона? Как?