zoukankan      html  css  js  c++  java
  • 重载二维数组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;
    }
    
  • 相关阅读:
    PS转换图片——我教你
    通过Ajax——异步获取相关问题解答
    Spring的线程安全
    Spring MVC的工作机制
    Annotation的语法和使用
    Spring Bean的生命周期
    浅谈Spring
    Spring的事务管理
    行为型模式
    结构型模式
  • 原文地址:https://www.cnblogs.com/zhangdongsheng/p/1865294.html
Copyright © 2011-2022 走看看