问题及代码:
/*copyright(c)2016.烟台大学计算机学院 * All rights reserved, * 文件名称:text.Cpp * 作者:吴敬超 * 完成日期:2016年4月23日 * 版本号:vc++6.0 * * 问题描述: 我的数组类 * 输入描述: * 程序输出: 输出结果 */ #include<iostream> using namespace std; class MyArray { private: int *arrayAdder;//保存一个又len个整型元素的数组的首地址; int len; //记录动态数组的长度 int max; //动态数组中的最大值(并非动态数组中必须要的数据成员) public: MyArray(int *a,int n); ~MyArray(); int getValue(int i);//获得数组中下标为i的元素值; int getLen(); //返回数组长度 int getMax(); //返回数组中的最大值 }; MyArray::MyArray(int *a,int n) { arrayAdder=a; len=n; } MyArray::~MyArray() { cout<<"Calling the copy constructor of array"<<endl; } int MyArray::getValue(int i) { return *(arrayAdder+i); } int MyArray::getLen() { return len; } int MyArray::getMax() { int i,j; max=*arrayAdder; for(i=0;i<len;i++) { for(j=i+1;j<len;j++) { if(*(arrayAdder+i)>*(arrayAdder+j)) { max=*(arrayAdder+i); } } } return max; } int main() { int b[10]={75,99,90,93,38,15,5,7,52,4}; MyArray r1(b,10); cout<<"最大值:"<<r1.getMax()<<endl; int c[15]={18,68,10,52,3,19,12,100,56,96,95,97,1,4,93}; MyArray r2(c,15); int i,s=0; for(i=0;i<r2.getLen();i++) { s+=r2.getValue(i); } cout<<"所有元素的和"<<endl; return 0; }
运行结果: