Вы можете использовать функцию отображения, чтобы проверить это для себя.
Добавьте эту функцию в свой класс Vehicle
в разделе publi c Спецификатор доступа:
void display() { std::cout<<speed; }
Теперь из объект производного класса Car
, вызовите эту функцию в main()
:
Car a; a.display();
Она выведет 5
, что является значением переменной speed
, которую вы инициализировали в производном классе Car
из базового класса Vehicle
.
Поскольку спецификатор доступа - publi c, скорость не наследуется.
Независимо от наложенных спецификаторов доступа все переменные наследуются. Разница в том, что они не доступны напрямую. Для private
членов, таких как speed
, вам необходимо получить к ним доступ с помощью функции-члена publi c, как я это делал выше.
На что назначается 5 как есть нет элемента скорости в Car?
Он присваивается производной переменной speed
в объектах Car
.