У меня есть иерархия, такая как:
Element
|_Resitance
|_DC Voltage Source
|_AC Voltage Source
|_AC Current Source
|_DC Current Source
|_DynamicElement
| |_Inductor
| |_Capacitor
|_SwitchingDevices
| |_Switch
| |_Diode
.
.
.
Поскольку мой вход может быть любым списком из них, все они вставляются в std::vector<Element*>
.Проблема в том, что источники Diode, Switch и Voltage имеют идентификационный элемент, к которому я должен получить доступ.
Я хочу иметь возможность запускать * (* Element) .ID или что-то подобное, когда я 'Я уверен, что Element является подклассом с таким членом.
Я действительно не хочу включать член ID в класс Element, потому что это случится много, и у класса будет многонеподходящего участника.