Виртуальные функции похожи на обычные функции (за исключением чистых виртуальных), когда они используются в базовом классе.
Подводя итог, можно сказать:
публичные функции могут бытьдоступ к любому.Доступ к закрытым функциям возможен только в том случае, если класс и его друзья защищены функциями, подобными закрытым, только доступ к ним может быть получен из производных классов.
Public - это интерфейс, а частные / защищенные функции - это внутренние компоненты.Также обратите внимание, что все локальные переменные (в соответствии с инкапсулизмом) должны быть защищены / приватны.
Теперь, когда речь идет о производных классах, вы выводите класс следующим образом:
class A : [public | protected | private] B
{
};
спецификатор public / private / protected перед B указывает наименее ограничивающий уровень безопасности для наследования от базового класса.Это не «фильтр» для методов и локальных переменных в том смысле, что некоторые не наследуются, он просто меняет уровень безопасности на указанный, если они менее ограничены (более общедоступны).
Итакclass A : public B
оставит унаследованных базовых членов такими, какие они есть, class A : private B
изменит их всех на частных.
Надеюсь, что это имеет смысл для вас и ответит на ваш вопрос.Если нет, скажи мне!