第十五周上机任务项目1-建立专门的数组类处理有关数组的操作
2013-06-07 10:54
567 查看
01./* 02.* 程序的版权和版本声明部分 03.* Copyright (c)2013, 烟台大学计算机学院学生 04.* All rightsreserved. 05.* 文件名称: MyArray.cpp 06.* 作 者:赵冠哲 07.* 完成日期:2013年6月7日 08.* 版本号: v1.0 09.* 输入描述: 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; //取数组大小; }; //以下为类成员函数的定义 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; } //测试函数 int main() { int a[10]= {1,2,3,4,5,6,7,8,9,10}; int b[10]= {4,5,6,7,8,9,10,11,12,13}; 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-2建立专门的数组类处理有关数组的操作
- 第十五周上机任务项目2-建立专门的链表类处理有关动态链表的操作
- 第十五周项目一 —— 建立专门的数组类处理有关数组的操作
- 第十五周 项目一:建立专门的数组类处理有关数组的操作
- 第14周任务1(建立专门的数组类处理有关数组的操作)
- 十四周【任务1】建立专门的数组类处理有关数组的操作数组是几乎所支持的组织数据的方法。
- C++第十四周【任务1】 建立专门的数组类处理有关数组的操作
- C++第十四周【任务1】 建立专门的数组类处理有关数组的操作(加强版)
- 第十四周 任务一 建立专门的数组类处理有关数组的操作
- 请教一下 贺老师。 第十四周C++【任务1】建立专门的数组类处理有关数组的操作
- 第十四周实验--任务1--建立专门的数组类处理有关数组的操作
- 15周项目一(建立专门的数组类处理有关数组的操作)
- 《第十四周任务一》建立专门的数组类处理有关数组的操作
- 第十四周任务1建立专门的数组类处理有关数组的操作
- 第十五周—1.建立专门的数组类处理有关数组的操作
- 《第十四周任务二》建立专门的链表类处理有关动态链表的操作
- 建立专门的数组类处理有关数组的操作+扩展1
- 第14周任务2(建立专门的链表类处理有关动态链表的操作)
- 第十四周实验--任务2--建立专门的链表类处理有关动态链表的操作(升级版)
- C++第十四周【任务2】建立专门的链表类处理有关动态链表的操作