Size: a a a

2020 August 17

RM

Roy Mustang in C++ Together 2.0
GNU/Плюшка
Сделать нормальный интерфейс, где плагинам не надо будет лазить в protected модуля
и чтоб методы торчали наружу?
источник

RM

Roy Mustang in C++ Together 2.0
через public
источник

G

GNU/Плюшка in C++ Together 2.0
Ну торчат и торчат
источник

G

GNU/Плюшка in C++ Together 2.0
Roy Mustang
и чтоб методы торчали наружу?
ты про методы AddPlugin/GetPlugin? а зачем их вообще скрывать? разве это не часть интерфейса, который должен быть доступен разработчику?
источник

RM

Roy Mustang in C++ Together 2.0
GNU/Плюшка
ты про методы AddPlugin/GetPlugin? а зачем их вообще скрывать? разве это не часть интерфейса, который должен быть доступен разработчику?
Верно, но они должны быть доступны только из класса самого себя или для его плагинов
источник

G

GNU/Плюшка in C++ Together 2.0
а что будет, если они будут доступны извне? атомный взрыв?
источник

RM

Roy Mustang in C++ Together 2.0
Потому что у каждого класса модуля свои методы и соответственно, через эти методы нельзя получить по указателю на класс другого модуля его плагин
источник

RM

Roy Mustang in C++ Together 2.0
GNU/Плюшка
а что будет, если они будут доступны извне? атомный взрыв?
Нет, просто не хочу чтоб они торчали
источник

G

GNU/Плюшка in C++ Together 2.0
ну hidden сделай
источник

RM

Roy Mustang in C++ Together 2.0
Это можно сделать через protected, но после этого плагины самого класса модуля не могут вызывать потому GetPlugin
источник

RM

Roy Mustang in C++ Together 2.0
AddPlugin и GetPlugin лежат в HFModule
источник

p

pepeground_bot in C++ Together 2.0
и в нашем? в принципе!
источник

RM

Roy Mustang in C++ Together 2.0
Получается, если я делаю их protected, то сам унаследуемый от HFModule класс может их юзать, а его плагины нет
источник

RM

Roy Mustang in C++ Together 2.0
Плагин может получать HFModule указатель на родительский класс модуля, но так как методы в HFModule протектед, то не может их вызвать
источник

RM

Roy Mustang in C++ Together 2.0
Вот мне надо это решить как то
источник

p

pepeground_bot in C++ Together 2.0
то же самое делал? вот и разница the iterators returned by this class's iterator and listiterator methods are fail-fast: if the vector is structurally modified at any time after the iterator fails quickly and cleanly, rather than risking arbitrary, non-deterministic behavior at an undetermined time in the case of programming languages, the system and those of its environment is made explicit.
источник

G

GNU/Плюшка in C++ Together 2.0
Roy Mustang
Вот мне надо это решить как то
у тебя один модуль на dll ?
источник

RM

Roy Mustang in C++ Together 2.0
GNU/Плюшка
у тебя один модуль на dll ?
Да, один класс на .dll и внутри этого класса вектор в котором лежат плагины (классы)
источник

RM

Roy Mustang in C++ Together 2.0
Проблема в том, что HFModule и унаследуемый от него класс вообще никак не связаны с HFPlugin и унаследованными от него классами плагинов
источник

G

GNU/Плюшка in C++ Together 2.0
я устал, я мухожук
источник