Друзья, добрый день!
Хочу попросить помощи в следующем вопросе:
Пишу реализацию одной электрической схемы.
Есть куча экземпляров класса породенных от базового (радиодетали). У каждого экземпляра есть точка входа и точка выхода напряжения.
Battery myBattery;
Switch mySwitch
LED myLed;
В базовом классе есть private свойства Input и Output — ссылки на которые возвращаются соответственно
по getInput() и getOutput(). Внутри Input и Output (собственно они наследуются от абстрактного класса,
описывающего вывод в техническом понимании этого слова), лежит свойство connection, которое хранит
ссылку на "вывод" следующей детальки в цепи.
Собственно сама проблема:
myBattery.getOutput()->Connect(mySwitch.getInput()); // подключаем выход батарейки к переключателю
mySwitch.getOutput()->Connect(myLed.getInput()); // другим концом переключатель подключаем к светодиоду
Output.connection класса myBattery — получит адрес mySwitch.Input
Output.connection класса mySwitch — получит адрес myLed.Input
требуеся: прописывать в mySwitch.Input — адрес Output-а объекта, который к нему припаяли, с myLed.Input — то же самое.
Можно сделать это напрямую в методе Connect(...), но вопрос — как бы это сделать поэлегантнее, чтобы иметь
не 2 указателя Input/Output (и гемморой с ихней синхронизацией), а один, общий как на Output так и на Input.
Этакий связаный список.
Черт, написал и сам запутался
Трудно программерские проблемы описывать человеческим языком