Напишите класс Shared, экземпляры которого будут обладать следующими свойствами:
При выводе с помощью print() должно выводиться строка вида «|objects/live/total/local|, где objects — количество созданных за всё время экземпляров класса Shared (без учёта их удаления), live — количество актуальных экземпляров класса Shared, total — сколько всего операций «~» применялось к объектам класса Shared, а local — сколько операций «~» применялось к данному объекту
Операция ~объект должна возвращать число local (уже увеличенное на 1 ☺)
|3/3/0/0| |3/3/0/0| |3/3/0/0| 1 1 2 |3/2/3/1| |3/2/3/2|
Пояснение:
Заводим a, b
Заводим ещё один объект — всего три — вызываем print(); «~» не вызвана ни разу
- Безымянный объект удаляется — на него нет ссылок
Дважды вызываем «~» от c и единожды — от «b»