2017-02-12 12 views
0

Я новичок в программировании на C++. Я создал поток и объект класса в нем. Этот класс находится в другом проекте. Теперь, как получить доступ к частным членам этого класса в потоке, потому что я хочу их установить. Они не являются методами для установки этих членов. Можем ли мы помочь мне, пожалуйста. Спасибо.Как сделать доступ к потоку частным членам класса

+0

«Проект» - это куча исходных файлов; «поток» - это объект времени выполнения. Не совсем понятно, к чему вы пытаетесь получить доступ и не удалось. Кроме того, был бы полезен конкретный пример (с некоторым кодом). Наконец, только реализация методов класса может обращаться к закрытым членам класса, если только вы не используете механизм '' friend'ing '(http://en.cppreference.com/w/cpp/language/friend). – einpoklum

ответ

1

Ну, ваш вопрос несколько расплывчатый, но если вы хотите, чтобы код, не являющийся членом класса, имел доступ к частному члену класса, вы можете добавить функцию, которая должна получить доступ к коду как friend класса. Это крайне не рекомендуется за исключением specific circumstances - поскольку он разрушает инкапсуляцию вашего класса и создает более сложные и деликатные зависимости - и вам следует избегать этого без уважительной причины.

Скорее всего, вам необходимо пересмотреть , почему этот член является частным - и как эти квадраты с вашей предполагаемой необходимостью получить к нему доступ извне класса. Возможно, это просто нужен, скажем, метод «getter», который гарантированно не изменяет объект (метод const)? Возможно, вы можете использовать другой, общедоступный метод класса вместо прямого доступа к частному члену? Думаю об этом.

 Смежные вопросы

  • Нет связанных вопросов^_^