重载二维数组a[i][j]为a(i,j)

重载函数调用运算符()的一个较好的例子是将 以下的二维数组的下标表示方法chessboard[row][column]改为常用方法chessBoard(row,column),试图调用运算符()扶持上述表示法

/*重载函数调用运算符()的一个较好的例子是将 以下的二维数组的下标表示方法chessboard[row][column]改为常用方法chessBoard(row,column)。
试图调用运算符()扶持上述表示方法*/
/*思路:构造一个类私有成员为数组,然后再写重载函数。*/

#include <iostream>
using namespace std;

class chessBoard
{
public:
	chessBoard();
	int operator()(int r,int c){return a[r][c];}
	void print()
	{
		for(int i=0;i<8;i++)
			for(int j=0;j<8;j++)
			{
				cout<<a[i][j];
				if(j==7)
					cout<<endl;
			}
	}
private:
	int a[8][8];
};
chessBoard::chessBoard()
{
	for(int i=0;i<8;i++)
		for(int j=0;j<8;j++)
			a[i][j]=j;
}
int main()
{
	chessBoard a;
	a.print();
	cout<<"a(3,3)="<<a(3,3)<<endl;
	system("pause");
	return 0;
}

你可能感兴趣的:(二维数组)