Base::value в классе потомка.">
Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
499 of 696 menu
◀ ▶

Поднятие скрытого поля в C++

Поле потомка с тем же именем, что у базы, перекрывает базовый член при обычном обращении по короткому имени.

Директива using Base::value в классе потомка вводит имя базового поля в область видимости класса, и к нему можно обратиться явно. Запишем два поля value и выведем оба числа из метода потомка:

┌pPathX="main.cpp" #include <iostream> class Box { public: int value = 10; }; class Crate : public Box { public: using Box::value; int value = 20; void show() { std::cout << value << "\n"; std::cout << Box::value << "\n"; } }; int main() { Crate item; item.show(); return 0; }

Сделайте Holder с полем code и Bundle с своим code. Поднимите базовое поле через using и выведите оба значения из метода Bundle.

Задайте tag в Root и одноименное поле в Branch. Напечатайте локальное tag и базовое через квалификатор Root:: без срезания объектов.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить