求解答,这个不是很懂

c++定义一个数列计算类,要求:1包含成员变量:整数数列,数列长度;包含方法:求累加和、平均值、方差、数列升序

#include <iostream>
#include <algorithm>
using namespace std;

class Array
{
public:
    int *array;
    int size;

public:
    Array(int *data, int sz)
        : size(sz)
    {
        array = new int[sz];
        memcpy(array, data, sizeof(int) * sz);
    }
    ~Array()
    {
        delete[] array;
    }

    int sum()
    {
        int res = 0;
        for (int i = 0; i < size; i++)
            res += array[i];
        return res;
    }

    float average()
    {
        return sum() * 1.0 / size;
    }

    float variance()
    {
        float res = 0;
        float ave = average();
        for (int i = 0; i < size; i++)
            res += (array[i] - ave) * (array[i] - ave);
        return res / size;
    }

    void ascending_order()
    {
        sort(array, array + size);
    }

    friend ostream &operator<<(ostream &os, const Array &a)
    {
        for (int i = 0; i < a.size; i++)
            os << a.array[i] << " ";
        os << endl;
        return os;
    }
};

int main()
{
    int a[5] = {5, 4, 3, 2, 1};
    Array b(a, 5);
    cout << "sum = " << b.sum() << endl;           // 15
    cout << "average = " << b.average() << endl;   // 3
    cout << "variance = " << b.variance() << endl; // 2
    cout << b;                                     // 5 4 3 2 1
    b.ascending_order();
    cout << b;                                     // 1 2 3 4 5
}