问题及代码:
/*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;
}
运行结果: