Например, подкласс наследует поля и методы надкласса, а другой класс, наследует поля и методы предыдущего подкласса(который наследует надкласс), будет ли этот под класс наследовать поля и методы надкласса тоже?
C будет иметь доступ к полям и методам класса A?
Давайте разберёмся. Начнём с того, что в С++ есть три модификатора доступа к методам и полям класса (public, private и protected
), а также три различных наследования(public, private и protected
).
Начнём с самого простого. С public
наследования. Итак пусть класс B
публично наследуется от класса A
. Тогда public
и protected
методы и поля класса А
становятся соответствующими полями класса B
. А private
поля класса A
недоступны из класса B
.
private
наследование. В результате такого наследования public
и protected
методы и поля класса А
становятся private
для класса B
. А private
поля из класса A
недоступаны в классе B
Самое редкое protected
наследование. private
поля базового класса всё также недоступны из класса наследника. А protected
и public
поля базового класса переходят в protected
поля класса наследника.
То есть на такой вопрос невозможно дать однозначный ответ. Чтобы понять, какие поля и методы будут доступны, нужно определить, какими эти поля являются в классе A
и какое наследование определено между классами A
и B
, а также B
и C
.
Ссылки:
Про модификаторы доступа и наследование
Пример с последовательным наследованием
Виртуальный выделенный сервер (VDS) становится отличным выбором
Как можно вывести цикл записей с двумя разными шаблонами? Мне нужно чтобы все четные были с одним шаблоном - нечетный с другимБуду благодарен...
Если одновременно использовать @media (max-width: 1000px) и @media (min-width: 1000px), то при ширине ровно 1000px будут выполняться оба правила
Здравствуйте! Подскажите, что-то не могу найти, как включить в sass, чтобы он квадратные скобки нормально понимал?