Dynamic constructor

Write a program to show dynamic constructor and destructor call.

#include<iostream>
using namespace std;
class A
{
	private:
		int x;
	public:
		A():x(10)
		{
			cout << "default constructor" << endl;
		}
		~A()
		{
			cout << "destructor" << endl;
		}
		A(int c):x(c)
		{
			cout << "parameterized constructor" <<  endl;
		}
		void print()
		{
			cout << "x = " << x << endl;
		}
};
int main()
{
	A obj;
	A *p_obj = new A;
	A *p_obj2 = new A(12);
	p_obj->print();
	p_obj2->print();
	delete p_obj;
	delete p_obj2;
	return 0;
}

Output

default constructor
default constructor
parameterized constructor
x = 10
x = 12
destructor
destructor
destructor