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

简介:

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
/*重载函数调用运算符()的一个较好的例子是将 以下的二维数组的下标表示方法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;
}
相关文章
|
21天前
|
存储 编译器 C语言
定义二维数组
定义二维数组
13 1
|
21天前
|
存储 数据处理 C语言
二维数组的初始化
二维数组的初始化
12 1
|
7月前
|
存储
关于char类型数组的两种输出方法
关于char类型数组的两种输出方法
142 0
|
8月前
|
存储 编译器 C语言
【C语言】 数组:-- 一维数组 -- 二维数组 -- 数组越界 -- 数组作为函数的参数1
【C语言】 数组:-- 一维数组 -- 二维数组 -- 数组越界 -- 数组作为函数的参数1
|
8月前
|
存储 编译器 程序员
【C语言】 数组:-- 一维数组 -- 二维数组 -- 数组越界 -- 数组作为函数的参数3
【C语言】 数组:-- 一维数组 -- 二维数组 -- 数组越界 -- 数组作为函数的参数3
|
8月前
|
C语言
【C语言】 数组:-- 一维数组 -- 二维数组 -- 数组越界 -- 数组作为函数的参数4
【C语言】 数组:-- 一维数组 -- 二维数组 -- 数组越界 -- 数组作为函数的参数4
|
8月前
|
存储 C语言
【C语言】 数组:-- 一维数组 -- 二维数组 -- 数组越界 -- 数组作为函数的参数2
【C语言】 数组:-- 一维数组 -- 二维数组 -- 数组越界 -- 数组作为函数的参数2
|
12月前
二维数组的初始化,下标,遍历,及数组间的赋值
下标: 行下标与列下标都是从0开始。 例如:int a[3][2] = { { 1,2 } , { 3,4 } , { 5,6 } }; 行下标:0 1 2 列下标:0 1 元素表现为: a [0][0] a [0][1] a [1][0] a [1][1] a [2][0] a [2][1] 另一个角度:
213 0
|
人工智能
char类型数组赋值整数,求数组长度
char类型数组赋值整数,求数组长度
105 0
写一个函数打印数组arr数组的内容,不使用数组下标,使用指针 arr是一个整型一维数组
写一个函数打印数组arr数组的内容,不使用数组下标,使用指针 arr是一个整型一维数组
88 0
写一个函数打印数组arr数组的内容,不使用数组下标,使用指针 arr是一个整型一维数组