Форум программистов, компьютерный форум CyberForum.ru

Сделать отдельный код невидимым - C++

Восстановить пароль Регистрация
 
deniska91
54 / 3 / 3
Регистрация: 17.05.2014
Сообщений: 72
17.05.2014, 14:39     Сделать отдельный код невидимым #1
Суть вопроса такова:
Имеется набор классов (основной класс и дополнительные), которые взаимодействуют между собой. Как сделать так, чтобы при подключении к какому-нибудь проекту этого класса, программист видел и имел доступ только к специальной функции, которая вызывала бы конструктор главного класса и при этом не видел ничего другого через свою IDE). Т.е. как сделать такую "прослойку" отделяющую два кода. Как это реализовано в разных библиотеках, когда подключаешь заголовочный файл библиотеки и можешь видеть только то с чем можешь работать?
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.05.2014, 14:39     Сделать отдельный код невидимым
Посмотрите здесь:

Сделать с кода Pascal код C++ C++
Можно ли данный код сделать короче? C++
Как сделать компактный код ? C++
Как сделать код меньше C++
C++ Как сделать код абстрактным
C++ Код более понятней сделать
Вынести код создания списка в отдельный модуль C++
Как сделать класс невидимым снаружи C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Убежденный
Системный программист
 Аватар для Убежденный
14213 / 6228 / 988
Регистрация: 02.05.2013
Сообщений: 10,385
Завершенные тесты: 1
17.05.2014, 14:53     Сделать отдельный код невидимым #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Создайте нужные функции для управления своими классами, скомпилируйте
их в библиотеку, а клиенту отдайте заголовок с объявлениями этих функций.
Это, кстати, стандартный вариант экспорта C++-сущностей в другие среды,
не поддерживающие интерфейсы в стиле C++ (т.е. для них создается как
бы промежуточное "представление" в стиле C).

Другой вариант - паттерн "мост" (bridge, или pimpl).
Создается два набора классов, один интерфейсный, второй для реализации.
Интерфейсный класс хранит только указатель на реализацию и public-методы,
относящиеся к интерфейсу, а все детали спрятаны в классах реализации.
deniska91
54 / 3 / 3
Регистрация: 17.05.2014
Сообщений: 72
17.05.2014, 15:42  [ТС]     Сделать отдельный код невидимым #3
Спасибо огромное. Я сразу смотрел в сторону паттерна Pimpl, но никак не мог разобраться как его применить к набору классов и не был уверен что именно он мне нужен. А сейчас когда вы направили меня как раз к нему, разобрался поглубже и понял как это реализовать.
Yandex
Объявления
17.05.2014, 15:42     Сделать отдельный код невидимым
Ответ Создать тему
Опции темы

Текущее время: 01:25. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru