第八周项目(2)—我的数组类

问题描述及代码:

/*
*copyright (c) 2016,烟台大学计算机学院
*All rights reserved.
*文件名称:hellow.cpp
*作者:田甜
*完成日期:2016年5月12日
*版本号:v1.0
*
*问题描述:阅读程序,请完成成员函数的定义,因为存在指针型的数据成员,注意需要深复制的构造函数。
*输入描述:///
*程序输出:///
*/
#include <iostream>

using namespace std;
class MyArray
{
private:
    int *arrayAddr;
    int len;
    int max;
public:
    MyArray(int array[],int len);
    ~MyArray();
    int get_value(int i);
    int get_len();
    int get_max();
};

MyArray::MyArray(int array[],int len)
{
    this->len=len;
    arrayAddr=new int[len];
    for(int i=0;i<len;i++)
    {
        arrayAddr[i]=array[i];
    }
}

int MyArray::get_len()
{
    return len;
}
int MyArray::get_value(int i)
{
    return arrayAddr[i-1];
}

int MyArray::get_max()
{
    int max=arrayAddr[0];
    for(int i=0;i<len;i++)
    {
        if(arrayAddr[i]>max)
            max=arrayAddr[i];
    }
    return max;

}
MyArray::~MyArray()
{
    delete []arrayAddr;
}
int main()
{
    int sum=0;
    int arr[6]={1,2,3,4,5,6};
    MyArray array(arr,6);
    cout<<array.get_len();
    cout<<array.get_max();
    cout<<array.get_value(2);
    cout<<endl;
    for(int i=1;i<array.get_len()+1;i++)
        sum+=array.get_value(i);
    cout<<"所有元素的和为:"<<sum<<endl;
    return 0;
}
运行结果:

第八周项目(2)—我的数组类_第1张图片

心得体会:

在给类中的指针所指向的空间赋值时一定要注意动态分配内存,否则指针为野指针,程序会崩溃。

你可能感兴趣的:(C++)