/*Copyright (c)2016,烟台大学计算机与控制工程学院
*All rights reserved.
*文件名称:my.cpp
*作 者:张瀚文
*完成日期:2016年5月6日
*
*问题描述:(1)阅读下面的程序,补足未完成的注释
(2)将注释(a)所在的那一行去掉,会出现什么现象?为什么?
为什么a数据成员所占用的存储空间要在aa长度基础上加1?
若指针a不是指向字符(即不作为字符串的地址),是否有必要加1?
*/
#include <iostream>
#include<cstring>
using namespace std;
class MyArray
{
int *arrayAddr;
int len;
int Max;
public:
MyArray(int*a ,int n);
~MyArray();
int getValue(int );//返回数组中下标为i的元素的值
int getLen();//返回数组长度
int getMax();//返回最大值
};
MyArray::MyArray(int*a ,int n)
{
arrayAddr=new int[n];
arrayAddr=a;
len=n;
}
MyArray::~MyArray()
{
delete []arrayAddr;
}
int MyArray:: getValue(int i)
{
return arrayAddr[i];
}
int MyArray:: getLen()
{
return len;
}
int MyArray:: getMax()
{
int i;
int MMax=0;
for(i=0;i<len;i++)
if(MMax<arrayAddr[i])
MMax=arrayAddr[i];
return MMax;
}
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;
}
原文:http://blog.csdn.net/zhwhanwen/article/details/51333637