设为首页 加入收藏

TOP

c++通过运算符[]重载实现一重和二重数组
2017-01-14 08:15:02 】 浏览:258
Tags:通过 运算 重载 实现 二重数

c++通过运算符[]重载实现一重和二重数组:我们常用的数组都是c++自己定义的,近来,由于做项目的原因,自己通过运算符的重载,自己又重新写了一个,一维和二维数组。下面贴上代码:

class A{
    int row,col;              //记录行号和列号
	int data;                   //存储数据
    A* p2;                       //分配内存
public:
	///////////////////其对应的构造函数///////////////////
    A():p2(NULL){}
	A(int x,int y=0):row(x),col(y){
		p2=new A[x];
		if(y!=0)
			for(int i=0;i
  
   data=x;
	}
	void setdbp(int m){p2=new A[m];}     //新建多维数组
	int operator!(){ 	return this->data;	}   //获取数组对应的值
	/////////////////////数组数值的基本操作///////////////////////
	int operator+(int x){return (this->data+x);}
	int operator+(A a){return (this->data+a.data);}
	int operator-(int x){return (this->data-x);}
	int operator-(A a){return (this->data-a.data);}
	int operator*(int x){return (this->data*x);}
	int operator*(A a){return (this->data*a.data);}
	double operator/(int x){return (this->data/x);}
	double operator/(A a){return (this->data/a.data);}
	~A(){
		if(p2) delete[] p2;
	}
};
int _tmain(int argc, _TCHAR* argv[])
{
    /////////////////////////对一二维数组的操作/////////////////////////
  	A a(3,5);
	for(int i=0;i<3;i++)
		for(int j=0;j<5;j++)
			a[i][j]=3*i+j;
	printf("%d ",!a[0][4]);
	cout<
   
    

?

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇C++多态基础性练习 下一篇C++笔记一(创建一个不带指针成员..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目