Частный раздел класса имеет цель «скрываться», как вы обрабатывать данные, обеспечивая упорядоченный способ экранного указанных данных с открытыми методами. Преимущество использования общедоступного метода для изменения значения частных членов заключается в том, что вы можете, например, разрешать значения только от 0 до 10 для «x».
В вашем случае вы должны подумать о том, что означает «x» в вашем первом классе, и если имеет смысл для второго класса обращаться к нему напрямую и без какого-либо контроля или специального рассмотрения. Если это так, это, вероятно, должно быть общедоступным. В другом случае вам нужно будет сделать общедоступный метод для его чтения, например, вашего примера readx. Если только «b» имеет привилегию получить доступ к «x» напрямую, вы также можете определить функцию друга, как, например, кто-то уже сказал.
Обратите внимание, что возврат указателя на экземпляр не позволит получить доступ к закрытым членам класса.
вы можете использовать функцию друга, которая может получить доступ к x. –
Вы должны подумать, что это, вероятно, объявлено приватным по причине. –
@NeilKirk: правый, например. если бы разработчик класса имел в виду возможность продлить его позже для использования в многопоточной среде, где неаудированный доступ к данным является игровым убийцей. –