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