Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗cpOpObIC 29 of 150 menu
◀ ▶

Класс внутри класса в C++

Вложенный класс объявляют внутри тела другого класса. Снаружи его имя пишут так: имя внешнего класса, два двоеточия, имя вложенного. Получается Log::Line.

Запишем Log со вложенным классом Line:

#include <iostream> #include <string> class Log { public: class Line { public: std::string text; Line(std::string text) : text(text) {} }; };

Создадим объект Log::Line и выведем текст строки:

int main() { Log::Line line("ok"); std::cout << line.text << "\n"; return 0; }

Полное имя типа склеивает внешний класс и внутренний. Запишем класс Catalog с элементом Item:

#include <iostream> #include <string> class Catalog { public: class Item { public: std::string title; int price; Item(std::string title, int price) : title(title), price(price) {} }; };

Создадим объект Catalog::Item и выведем его цену:

int main() { Catalog::Item item("pen", 10); std::cout << item.price << "\n"; return 0; }

Сделайте класс Catalog с вложенным классом Item: название и цена. Создайте Item через имя Catalog и выведите название.

Сделайте класс Bundle с вложенным классом Part и полем label. Создайте объект Part и выведите его label.

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