您的位置:首页 > 编程语言

编程小练习

2016-04-28 08:56 260 查看
/*问题描述:完成成员函数的定义(存在指针型的数据成员,注意需要深复制的构造函数)

*/

#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[len];

    int i;

    max=a[0];

    for(i=0;i<n;i++)

    {

        arrayAddr[i]=a[i];

        if(max<arrayAddr[i])

            max=arrayAddr[i];

    }

}

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;

}

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: