Связанный список и/ли shared_ptr
От: vlat456  
Дата: 09.08.09 21:14
Оценка:
Друзья, добрый день!
Хочу попросить помощи в следующем вопросе:

Пишу реализацию одной электрической схемы.
Есть куча экземпляров класса породенных от базового (радиодетали). У каждого экземпляра есть точка входа и точка выхода напряжения.

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.
Этакий связаный список.

Черт, написал и сам запутался Трудно программерские проблемы описывать человеческим языком
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.