C++实践数组类运算的实现参考
【项目-数组类运算的实现】
设计数组类Array,为了实现测试函数中要求的功能,请补足相关的函数(构造、析构函数)和运算符重载的函数。
实现策略提示:可以将测试函数中的语句加上注释,取消一句的注释,增加相应的函数,以渐增地实现所有的功能,避免全盘考虑带来的困难。
classArray { private: int*list;//用于存放动态分配的数组内存首地址 intsize;//数组大小(元素个数) public: //成员函数声明 }; //要求测试函数能够运行出正确、合理的结果: intmain() { inta[8]={1,2,3,4,5,6,7,8}; intb[8]={10,20,30,40,50,60,70,80}; Arrayarray1(a,8),array3,array4; constArrayarray2(b,8); array4=array3=array1+array2; array3.show(); array4.resize(20); array4[8]=99; cout<[参考解答]
#include#include #include usingnamespacestd; classArray { private: int*list;//用于存放动态分配的数组内存首地址 intsize;//数组大小(元素个数) public: Array(intsz=50);//构造函数 Array(inta[],intsz);//构造函数 Array(constArray&a);//拷贝构造函数 ~Array();//析构函数 Arrayoperator+(constArray&a2);//重载"=" Array&operator=(constArray&a2);//重载"=" int&operator[](inti);//重载"[]" constint&operator[](inti)const; intgetSize()const;//取数组的大小 voidresize(intsz);//修改数组的大小 voidshow()const; }; Array::Array(intsz)//构造函数 { assert(sz>=0);//sz为数组大小(元素个数),应当非负 size=sz;//将元素个数赋值给变量size list=newint[size];//动态分配size个int类型的元素空间 } Array::Array(inta[],intsz) { assert(sz>=0);//sz为数组大小(元素个数),应当非负 size=sz;//将元素个数赋值给变量size list=newint[size];//动态分配size个int类型的元素空间 for(inti=0;i =0&&n =0&&n =0);//检查sz是否非负 if(sz==size)//如果指定的大小与原有大小一样,什么也不做 return; int*newList=newint[sz];//申请新的数组内存 intn=(sz 总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对毛票票的支持。如果你想了解更多相关内容请查看下面相关链接