Я понимаю, что типичные спецификаторы доступа, и что они значат. «публичные» участники доступны везде, «частные» участники доступны только одному классу и друзьям и т. д.
Что мне интересно, так это то, к чему это относится в терминах более низкого уровня. Есть ли у них какие-либо функциональные различия после компиляции, кроме ограничений высокого уровня (что может получить доступ к чему), налагаемых языком (в данном случае c ++), в котором они используются.
Другой способ выразить это - если бы это был идеальный мир, в котором программисты всегда делали правильный выбор (например, не обращались к членам, которые могут измениться позже, и использовали только четко определенные члены, которые должны оставаться неизменными между реализациями), были бы они причиной использовать эти вещи?