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

Счетчик объектов в C++

Статическое поле удобно для счетчика объектов: конструктор увеличивает общее число, деструктор уменьшает, и в любой момент видно, сколько экземпляров сейчас живет.

Поле count объявляют в классе, определяют снаружи с нулем, в конструкторе пишут ++count, в деструкторе - --count. Запишем класс User:

#include <iostream> class User { public: static int count; User() { ++count; } ~User() { --count; } }; int User::count = 0;

Создадим пару объектов во внутреннем блоке и выведем поле до и после:

int main() { std::cout << User::count << "\n"; { User user1; User user2; std::cout << User::count << "\n"; } std::cout << User::count << "\n"; return 0; }

Сделайте класс Widget со статическим полем live и таким же учетом в конструкторе и деструкторе. Создайте три объекта во внутреннем блоке и выведите поле live внутри блока и после него.

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