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

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

重载函数调用运算符()的一个较好的例子是将 以下的二维数组的下标表示方法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;
}
相关文章
|
24天前
|
存储 编译器 C语言
定义二维数组
定义二维数组
14 1
|
24天前
|
存储 数据处理 C语言
二维数组的初始化
二维数组的初始化
12 1
|
24天前
|
存储 算法 C语言
定义和引用二维数组
定义和引用二维数组
17 1
|
5月前
|
存储 C语言
一维数组(数值型数组)(eg:arr[10])
大家肯定对数组已经不陌生了,都见到过数组,比如arr[10] = {1,2,3,4,5,6,7,8,9,10}; 装的是整数。那么下面我们讲会系统的讲一下 一维数组的知识点。(针对数值型数组) 首先我们需要了解什么是数组?
|
7月前
|
存储
关于char类型数组的两种输出方法
关于char类型数组的两种输出方法
142 0
|
10月前
编写一个程序,初始化一个double类型的数组,然后把该数组的内容拷贝至3个其他数组中(在main()中声明这4个数组)。
编写一个程序,初始化一个double类型的数组,然后把该数组的内容拷贝至3个其他数组中(在main()中声明这4个数组)。
|
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
写一个函数打印数组arr数组的内容,不使用数组下标,使用指针 arr是一个整型一维数组
写一个函数打印数组arr数组的内容,不使用数组下标,使用指针 arr是一个整型一维数组
88 0
写一个函数打印数组arr数组的内容,不使用数组下标,使用指针 arr是一个整型一维数组
|
Java
Java基本数据类型与数组(定义了int型二维数组a[6][7]后,数组元素a[3][4]前的数组元素个数)案例分析
首先要知道java中的数组是线性排列的 其次要知道数组的初始标度为0
782 0
关于LeetCode题目中形参《 int* nums,int** nums》可以接收什么值?《指针问题》
关于LeetCode题目中形参《 int* nums,int** nums》可以接收什么值?《指针问题》
关于LeetCode题目中形参《 int* nums,int** nums》可以接收什么值?《指针问题》