<img src="https://img-blog.csdn.net/20160611152600622?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />/*
02.*烟台大学计算机学院
03.*文件名称:xiangmu2.cpp
04.*作 者:李亚辉
05.*完成日期:2016年6月11日
06.*版 本 号:vc++6.0
07.*
08.*问题描述: 完成个成员函数的定义
09.*输入描述: 无
10.*程序输出: 最大值与元素之和
11..*/
#include<iostream>
using namespace std;
class MyArray
{
private:
int *arrayAddr; //保存一个有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)
{
len=n;
arrayAddr=new int[n];
max=a[0];
for(int i=0; i<n; i++)
{
arrayAddr[i]=a[i];
if (max<a[i]) max=a[i];
}
}
//析构函数的类外定义,释放指针型数据a所指向的空间
MyArray::~MyArray()
{
delete [] arrayAddr;
}
int MyArray::getValue(int i) //获得数组中下标为i的元素的值
{
return arrayAddr[i];
}
int MyArray::getLen() //返回数组长度
{
return len;
}
int MyArray::getMax( ) //返回数组中的最大值
{
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<<"所有元素的和为:"<<s<<endl;
return 0;
}
//学习心得:感觉与出语言里的数组没什么不同,只是在形式上,在运用中发生了一些细微的变化,但有时候还是会混淆数组的下标,自己C语言里有时也经常如此,还是因为自己的条例有时候不清晰造成的,数组加上指针真是令人头疼啊,好在这个项目并不是很复杂。以后还是要多回顾指针、数组的运用。
07-19
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交