Write a program that counts the number of objects created and destroyed using constructer and destructor.
#include <iostream>
class TestClass
{
static int counter_;
public:
TestClass()
{
++counter_;
}
TestClass(const TestClass&)
{
++counter_;
}
~TestClass()
{
--counter_;
}
static int Counter()
{
return counter_;
}
};
int TestClass::counter_ = 0;
int main()
{
std::cout << "1. Counter value: " << TestClass::Counter() << "\n";
{
TestClass obj1;
std::cout << "2. Counter value: " << TestClass::Counter() << "\n";
}
std::cout << "3. Counter value: " << TestClass::Counter() << "\n";
TestClass* ptr1 = new TestClass();
std::cout << "4. Counter value: " << TestClass::Counter() << "\n";
delete ptr1;
std::cout << "5. Counter value: " << TestClass::Counter() << "\n";
{
TestClass obj1;
TestClass obj2 = obj1;
std::cout << "6. Counter value: " << TestClass::Counter() << "\n";
}
std::cout << "7. Counter value: " << TestClass::Counter() << "\n";
return 0;
}
Comments
Leave a comment