Overload subscript operator

Write a program to overload subscript operator.

#include<iostream>
using namespace std;
class A
{
	private:
		int x[5];
	public:
		A();
		int operator [](int);
};
int A :: operator [](int a)
{
	return x[a];
}
A :: A()
{
	for(int i = 0;i < 5;i++)
		x[i] = 10 + i;
	cout << "default constructor" << endl;
}
int main()
{
	A obj;
	for(int i = 0;i < 5;i++)
		cout << "obj[" << i << "] = " << obj[i] << endl;
	return 0;
}

Output

default constructor
obj[0] = 10
obj[1] = 11
obj[2] = 12
obj[3] = 13
obj[4] = 14