Вход
Наше всё
Теги
codebook
无线电组件
Поиск
Опросы
Закон
Вторник
22 апреля
О смысле всего сущего
0xFF
Средства и методы разработки
Мобильная и беспроводная связь
Блошиный рынок
Объявления
Микроконтроллеры
PLD, FPGA, DSP
AVR
PIC
ARM, RISC-V
Технологии
Кибернетика, автоматика, протоколы
Схемы, платы, компоненты
Средства и методы разработки
490217
Топик полностью
fk0
легенда
(21.02.2014 18:54, просмотров: 76)
ответил
Хитрый Китаец
на
Навскидку, сделать в каждом классе признак того, что инициализация выполнена created и публичный метод Create() { if(!created) { ... }} и вызывать его в тех конструкторах тех классов, которые требуют зависимости. Т.к. объект глобален - память к
Сделать синглтон. Но в том-то и беда, что Create() можно забыть _вручную_ вызвать из тех классов, для которых оно нужно. И даже не получить глюкодром в такой конфигурации и дикие глюки в другой. За что боролись.
[ZX]
Ответить
Не вызывайте зависимый объект явно, передайте именно ссылку на него, не указатель, при создании объекта как параметр и сохраните. Вероятность забывания резко снизится.
-
Хитрый Китаец
(21.02.2014 20:16
)
C++ нет. В C что-то такое тоже можно сделать. "Фабрику классов", возвращающую структуры (пустые, не важно, важно что для C они все разные) и вызывающую конструктор нужного типа объекта (причём сразу и синглетон делает):
fk0
(2672 знак., 21.02.2014 21:51 - 21:57
)