54 / 3 / 2
Регистрация: 17.05.2014
Сообщений: 72
|
|
1 | |
Сделать отдельный код невидимым17.05.2014, 14:39. Показов 2408. Ответов 2
Метки нет (Все метки)
Суть вопроса такова:
Имеется набор классов (основной класс и дополнительные), которые взаимодействуют между собой. Как сделать так, чтобы при подключении к какому-нибудь проекту этого класса, программист видел и имел доступ только к специальной функции, которая вызывала бы конструктор главного класса и при этом не видел ничего другого через свою IDE). Т.е. как сделать такую "прослойку" отделяющую два кода. Как это реализовано в разных библиотеках, когда подключаешь заголовочный файл библиотеки и можешь видеть только то с чем можешь работать?
0
|
17.05.2014, 14:39 | |
Ответы с готовыми решениями:
2
Как сделать класс невидимым снаружи Вынести код создания списка в отдельный модуль Сделать невидимым Label Сделать блок невидимым |
Ушел с форума
|
|
17.05.2014, 14:53 | 2 |
Сообщение было отмечено deniska91 как решение
Решение
Создайте нужные функции для управления своими классами, скомпилируйте
их в библиотеку, а клиенту отдайте заголовок с объявлениями этих функций. Это, кстати, стандартный вариант экспорта C++-сущностей в другие среды, не поддерживающие интерфейсы в стиле C++ (т.е. для них создается как бы промежуточное "представление" в стиле C). Другой вариант - паттерн "мост" (bridge, или pimpl). Создается два набора классов, один интерфейсный, второй для реализации. Интерфейсный класс хранит только указатель на реализацию и public-методы, относящиеся к интерфейсу, а все детали спрятаны в классах реализации.
0
|
54 / 3 / 2
Регистрация: 17.05.2014
Сообщений: 72
|
|
17.05.2014, 15:42 [ТС] | 3 |
Спасибо огромное. Я сразу смотрел в сторону паттерна Pimpl, но никак не мог разобраться как его применить к набору классов и не был уверен что именно он мне нужен. А сейчас когда вы направили меня как раз к нему, разобрался поглубже и понял как это реализовать.
0
|
17.05.2014, 15:42 | |
17.05.2014, 15:42 | |
Помогаю со студенческими работами здесь
3
Как изображение сделать невидимым? Как сделать элемент невидимым? Как сделать MouseIcon невидимым? Как сделать объект невидимым Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |