c++中用运算符重载实现两数组相加.doc_第1页
c++中用运算符重载实现两数组相加.doc_第2页
c++中用运算符重载实现两数组相加.doc_第3页
c++中用运算符重载实现两数组相加.doc_第4页
c++中用运算符重载实现两数组相加.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

#include#include #includeclass CTwoArrayint *ptr; /数组指针,指向二维数组的第一行第一列的元素int row; /数组行数int col; /数组列数public:CTwoArray(int m,int n); /构造函数CTwoArray(); /析构函数CTwoArray(const CTwoArray &a); /拷贝构造函数void set(); /从键盘输入数据,给二维数组元素赋值 CTwoArray &operator+( CTwoArray &b); /重载为类的成员函数 void print(); /输出二维数组元素int get_row();int get_col();inline int CTwoArray:get_row(void)return row;inline int CTwoArray:get_col(void)return col;/* 构造函数使二维数组初值为0*/CTwoArray:CTwoArray(int m, int n)row = m;col = n;ptr = new intm*n;memset(ptr,0,m*n);/* 析构函数*/CTwoArray:CTwoArray()delete ptr;ptr = 0;/* 拷贝构造函数*/CTwoArray:CTwoArray(const CTwoArray &a)col = a.col;row = a.row;ptr = new inta.col*a.row;memset(ptr,0,a.col*a.row);memcpy(ptr,a.ptr,a.col*a.row);couthanyong1;/* 键盘输入值*/void CTwoArray:set()int i;int j;for(i = 0; irow; i+)for(j = 0; jcol; j+)cout请输入第i+1行j+1*(ptr+i+j);/* 输出函数*/void CTwoArray:print()int i;int j;for(i = 0; irow; i+)for(j = 0; jcol; j+)coutsetw(5)*(ptr+i)+j) ;coutn;/* 运算符 + 重载函数*/CTwoArray &CTwoArray: operator+( CTwoArray &b)int i;int j;for(i = 0; irow*col; i+)/for(j = 0; jcol; j+)/*(ptr+i) = *(ptr+i) + b.ptri;/return *this;/* 当现实结构用Array3表示时有问题经过不断的尝试发现用连个对象就行了*/int main()CTwoArray Array1(2,3);CTwoArray Array2(2,3);/CTwoArray Array3;/CTwoArray Array2 = Array1; /利用复制构造函数初始化Array1.set();Array1.print();Array2.set();Array2.print();cout两个数组相加的和是:endl;Array1 = Array

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论