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

Практика по умным указателям в C++

Сделайте класс Timer с методом, который печатает tick, и деструктором со словом stop. Держите объект в куче так, чтобы он удалился сам при выходе из main, вызовите метод один раз.

Сделайте класс Cargo с полем tons. Создайте объект через make_unique, передайте владение в другую переменную через std::move и выведите tons из нового владельца.

Сделайте базу Shape с виртуальным area_tag и виртуальным деструктором, потомка Square с другим текстом. Храните Square в unique_ptr<Shape> и выведите результат area_tag.

Сделайте класс Ledger с полем balance. Получите два shared_ptr через make_shared на один объект, выведите balance и значение use_count из первой переменной.

Сделайте класс Ping с полем code. Создайте shared_ptr, сохраните weak_ptr, уничтожьте сильный указатель, вызовите lock и выведите lost, если объект уже удален.

Напишите функцию, которая принимает unique_ptr<Widget> по значению и печатает поле id класса Widget. В main создайте виджет, передайте его в функцию через std::move и проверьте, что исходная переменная пуста.

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