class data member using template alternate

Write a program to declare class data member using template.

#include<iostream>
using namespace std;
template <class T1,class T2>
class A
{
	private:
		T1 x;
		T2 y;
	public:
		A(T1 a, T2 b):x(a),y(b)
		{
			cout << "parameterized constructor" << endl;
		}
		void print()
		{
			cout << "x = " << x << " y = " << y << endl;
		}
		~A()
		{
			cout << "destructor" << endl;
		}
};
int main()
{
	A <int,int>obj1(10,20);
	A <char,char>obj2('a','A');
	A <float,float>obj3(54.34,75.32);
	A <int,char>obj4(10,'p');
	A <char,float>obj5('a',46.23);
	A <float,int>obj6(54.34,75.45);
	obj1.print();
	obj2.print();
	obj3.print();
	obj4.print();
	obj5.print();
	obj6.print();
	return 0;
}

Output

parameterized constructor
parameterized constructor
parameterized constructor
parameterized constructor
parameterized constructor
parameterized constructor
x = 10 y = 20
x = a y = A
x = 54.34 y = 75.32
x = 10 y = p
x = a y = 46.23
x = 54.34 y = 75
destructor
destructor
destructor
destructor
destructor
destructor