#include<iostream>
using namespace std;
class A
{
int x;
static int count;
public:
A(int x)
{
this->x = x;
count++;
}
~A()
{
count--;
}
static int quantity()
{
return count;
}
};
int A::count = 0;
int main()
{
cout << "Count object: " << A::quantity() << endl;
A* p1, *p2, *p3;
p1 = new A(1);
p2 = new A(2);
p3 = new A(*p2);
cout << "Count object: " << A::quantity() << endl;
delete p1;
delete p2;
cout << "Count object: " << A::quantity() << endl;
delete p3;
cout << "Count object: " << A::quantity() << endl;
}
I2luY2x1ZGU8aW9zdHJlYW0+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwpjbGFzcyBBCnsKICAgIGludCB4OwogICAgc3RhdGljIGludCBjb3VudDsKICBwdWJsaWM6CiAgICBBKGludCB4KQogICAgewogICAgICAgIHRoaXMtPnggPSB4OwogICAgICAgIGNvdW50Kys7CiAgICB9CiAgICB+QSgpCiAgICB7CiAgICAgICAgY291bnQtLTsKICAgIH0KICAgIHN0YXRpYyBpbnQgcXVhbnRpdHkoKQogICAgewogICAgICAgIHJldHVybiBjb3VudDsKICAgIH0KfTsKaW50IEE6OmNvdW50ID0gMDsKaW50IG1haW4oKQp7CiAgICBjb3V0IDw8ICJDb3VudCBvYmplY3Q6ICIgPDwgQTo6cXVhbnRpdHkoKSA8PCBlbmRsOwogICAgQSogcDEsICpwMiwgKnAzOwogICAgcDEgPSBuZXcgQSgxKTsKICAgIHAyID0gbmV3IEEoMik7CiAgICBwMyA9IG5ldyBBKCpwMik7CiAgICBjb3V0IDw8ICJDb3VudCBvYmplY3Q6ICIgPDwgQTo6cXVhbnRpdHkoKSA8PCBlbmRsOwogICAgZGVsZXRlIHAxOwogICAgZGVsZXRlIHAyOwogICAgY291dCA8PCAiQ291bnQgb2JqZWN0OiAiIDw8IEE6OnF1YW50aXR5KCkgPDwgZW5kbDsKICAgIGRlbGV0ZSBwMzsKICAgIGNvdXQgPDwgIkNvdW50IG9iamVjdDogIiA8PCBBOjpxdWFudGl0eSgpIDw8IGVuZGw7Cn0KCg==