第十五周 项目一:建立专门的数组类处理有关数组的操作
2013-06-07 11:21
477 查看
/* * 程序的版权和版本声明部分 * Copyright (c)2012, 烟台大学计算机学院学生 * All rightsreserved. * 作者: 李洋 * 完成日期: 2013年 6 月 7 日 * 版本号: v1.0 * 输入描述:无 * 问题描述:无 * 程序输出:无 */ #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) { for(int i=0;i<A.size;++i) arr[i]=A.arr[i]; } //析构函数,注意释放空间 MyArray::~MyArray(void) { delete []arr; } //重载“=”使得数组对象可以整体赋值 MyArray MyArray::operator =(const MyArray &A) { for(int i=0;i<size;++i) arr[i]=A.arr[i]; return MyArray(arr,size); } //重载==,使得Array对象能整体判断两个数组是否相等(size相等且对应元素相等) 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& out,MyArray& A) { out<<"数组为:"<<endl; for(int i=0;i<A.size;++i) out<<A.arr[i]<<" "; out<<endl; return out; } //取数组大小 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; //测试对<<的重载 arr3=arr1; //测试对=的重载 cout<<arr3; cout<<"The size of arr1 is: "<<arr1.GetSize()<<endl; //测试GetSize()成员函数 return 0; }
相关文章推荐
- 第十五周上机任务项目1-2建立专门的数组类处理有关数组的操作
- 第十五周上机任务项目1-建立专门的数组类处理有关数组的操作
- 第十五周项目一 —— 建立专门的数组类处理有关数组的操作
- 第十五周—1.建立专门的数组类处理有关数组的操作
- 第十五周上机任务项目2-建立专门的链表类处理有关动态链表的操作
- 15周项目一(建立专门的数组类处理有关数组的操作)
- 第14周任务1(建立专门的数组类处理有关数组的操作)
- 建立专门的数组类处理有关数组的操作+扩展1
- C++第十四周【任务1】 建立专门的数组类处理有关数组的操作
- 《第十四周任务一》建立专门的数组类处理有关数组的操作
- 第十四周任务1建立专门的数组类处理有关数组的操作
- C++第十四周【任务1】 建立专门的数组类处理有关数组的操作(加强版)
- 十四周【任务1】建立专门的数组类处理有关数组的操作数组是几乎所支持的组织数据的方法。
- 请教一下 贺老师。 第十四周C++【任务1】建立专门的数组类处理有关数组的操作
- 第十四周实验--任务1--建立专门的数组类处理有关数组的操作
- 第十四周 任务一 建立专门的数组类处理有关数组的操作
- 《C++第十四周实验报告1-1》---建立专门的数组类处理有关数组的操作
- 第14周任务2(建立专门的链表类处理有关动态链表的操作)
- 建立专门的链表类处理有关动态链表的操作 扩展二
- 第十四周实验--任务2--建立专门的链表类处理有关动态链表的操作