重载函数调用运算符()的一个较好的例子是将 以下的二维数组的下标表示方法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;
}