Я новичок в программировании на C++. Я создал поток и объект класса в нем. Этот класс находится в другом проекте. Теперь, как получить доступ к частным членам этого класса в потоке, потому что я хочу их установить. Они не являются методами для установки этих членов. Можем ли мы помочь мне, пожалуйста. Спасибо.Как сделать доступ к потоку частным членам класса
ответ
Ну, ваш вопрос несколько расплывчатый, но если вы хотите, чтобы код, не являющийся членом класса, имел доступ к частному члену класса, вы можете добавить функцию, которая должна получить доступ к коду как friend класса. Это крайне не рекомендуется за исключением specific circumstances - поскольку он разрушает инкапсуляцию вашего класса и создает более сложные и деликатные зависимости - и вам следует избегать этого без уважительной причины.
Скорее всего, вам необходимо пересмотреть , почему этот член является частным - и как эти квадраты с вашей предполагаемой необходимостью получить к нему доступ извне класса. Возможно, это просто нужен, скажем, метод «getter», который гарантированно не изменяет объект (метод const
)? Возможно, вы можете использовать другой, общедоступный метод класса вместо прямого доступа к частному члену? Думаю об этом.
«Проект» - это куча исходных файлов; «поток» - это объект времени выполнения. Не совсем понятно, к чему вы пытаетесь получить доступ и не удалось. Кроме того, был бы полезен конкретный пример (с некоторым кодом). Наконец, только реализация методов класса может обращаться к закрытым членам класса, если только вы не используете механизм '' friend'ing '(http://en.cppreference.com/w/cpp/language/friend). – einpoklum