第十五周上机任务项目1-2建立专门的数组类处理有关数组的操作
来源:互联网 发布:iscroll5.js 官网下载 编辑:程序博客网 时间:2024/06/05 14:45
01./*02.* 程序的版权和版本声明部分03.* Copyright (c)2013, 烟台大学计算机学院学生04.* All rightsreserved.05.* 文件名称: MyArray.cpp06.* 作 者:赵冠哲07.* 完成日期:2013年6月7日08.* 版本号: v1.009.* 输入描述:10.* 问题描述:11.*/#include <iostream>using namespace std;class MyArray{private: int *arr;//用于存放动态分配的数组内存首地址 int size;//数组大小public: MyArray(int sz=50); MyArray(int a[],int sz);//由一个内置类型的数组初始化 MyArray(const MyArray &A);//复制构造函数 ~MyArray(void);//析构函数,注意释放空间 MyArray&operator =(const MyArray &A); //重载“=”使得数组对象可以整体赋值 bool operator == (MyArray& A);//重载==,使得Array对象能整体判断两个数组是否相等(size相等且对应元素相等) friend ostream& operator << (ostream& out,MyArray& A);//重载<<,输出数组 int GetSize(void) const; void Resize(int sz);//取数组大小;};//以下为类成员函数的定义MyArray::MyArray(int sz){ size=sz; arr=new int[size]; for(int i=0;i<size;++i) *(arr+i)=0;}MyArray::MyArray(int a[],int sz){ size=sz; arr=new int[size]; for(int i=0;i<size;++i) *(arr+i)=*(a+i);}MyArray::MyArray(const MyArray &A){ size=A.size; arr=new int[A.size]; for(int i=0;i<A.size;++i) *(arr+i)=*(A.arr+i);}MyArray::~MyArray(void){ delete []arr;}MyArray& MyArray::operator=(const MyArray &A){ size=A.size; arr=new int[A.size]; for(int i=0;i<A.size;++i) *(arr+i)=*(A.arr+i); return *this;}bool MyArray::operator == (MyArray& A){ bool compare=false; double sum1=0,sum2=0; for(int i=0;i<size;++i) { sum1=sum1+*(arr+i); sum2=sum2+*(A.arr+i); } if(sum1==sum2) compare=true; return compare;}ostream& operator << (ostream& output,MyArray& A) //重载<<,输出数组{ for(int i=0;i<A.size;++i) output<<*(A.arr+i)<<" "; cout<<endl; return output;}int MyArray::GetSize(void)const //取数组大小;{ return size;} void MyArray::Resize(int sz)//修改数组的大小,如果sz大于数组的原大小,增加的元素初始为;如果sz大于数组的原大小,舍弃后面的元素【选做】 { int *a,i=0; if(sz>size) { a = new int[sz]; for( i=0;i<size;++i) *(a+i)=*(arr+i); for(i=size;i<sz;++i) *(a+i)=0; arr = new int[sz]; for(i=0;i<sz;++i) *(arr+i)=*(a+i); size=sz; } else { a = new int[sz]; for(i=0;i<sz;++i) *(a+i)=*(arr+i); arr = new int[sz]; for(i=0;i<sz;++i) *(arr+i)=*(a+i); size=sz; }} //测试函数int main(){ int a[12]= {1,2,3,4,5,6,7,8,9,10,15,44}; int b[11]= {4,5,6,7,8,9,10,11,12,13,32}; MyArray arr1(a,10); //测试用内置的数组初始化新定义的数组对象 MyArray arr2(b,10); MyArray arr3(10); //测试只指定大小的新数组对象的初始化 cout<<arr1; //测试对<<的重载 cout<<arr2; //测试对<<的重载 cout<<arr3; //测试对<<的重载 cout<<"The size of arr1 is: "<<arr1.GetSize()<<endl; //测试GetSize()成员函数 return 0;}
运行结果:
- 第十五周上机任务项目1-建立专门的数组类处理有关数组的操作
- 第十五周上机任务项目1-2建立专门的数组类处理有关数组的操作
- 第十五周项目一 —— 建立专门的数组类处理有关数组的操作
- 第十五周 项目一:建立专门的数组类处理有关数组的操作
- 第十五周上机任务项目2-建立专门的链表类处理有关动态链表的操作
- 第14周任务1(建立专门的数组类处理有关数组的操作)
- 第十五周—1.建立专门的数组类处理有关数组的操作
- 第十四周实验--任务1--建立专门的数组类处理有关数组的操作
- 第十四周任务1建立专门的数组类处理有关数组的操作
- C++第十四周【任务1】 建立专门的数组类处理有关数组的操作
- 15周项目一(建立专门的数组类处理有关数组的操作)
- 第十四周 任务一 建立专门的数组类处理有关数组的操作
- 《第十四周任务一》建立专门的数组类处理有关数组的操作
- 请教一下 贺老师。 第十四周C++【任务1】建立专门的数组类处理有关数组的操作
- C++第十四周【任务1】 建立专门的数组类处理有关数组的操作(加强版)
- 建立专门的数组类处理有关数组的操作+扩展1
- 十四周【任务1】建立专门的数组类处理有关数组的操作数组是几乎所支持的组织数据的方法。
- 《C++第十四周实验报告1-1》---建立专门的数组类处理有关数组的操作
- vi 快捷键
- Tab选项卡TabView的最基本操作(一)
- 高效存储技术研究
- meta-data 的分别操作
- oracle的导入导出
- 第十五周上机任务项目1-2建立专门的数组类处理有关数组的操作
- 关于Class flash.notifications::RemoteNotifierSubscribeOptions could not be found.
- android的内存优化分析【转,超级推荐】
- Android Studio 设置黑色主题
- vs2005 在IE8.0下 启动调试箭头灰色解决方法
- 用epoll实现简易的telnet
- 快速备份 dos 命令
- 遭遇一次MySQL猜解注入攻击
- html(),empty(),text() 的区别