1 条题解

  • 0
    @ 2020-04-10 11:49:09

    使用指针储存,使用中括号重载进行输入和访问
    注意内存释放要用delete[],而不是delete,因为释放的是数组空间

    #include<iostream>
    #include<iomanip>
    using namespace std;
    
    template<class T>
    class Array
    {
    private:
        T* val;
        int size;
    public:
        Array(int s = 10);
        ~Array();
        T getsum();
        T& operator[](int sub);
    };
    
    template<class T>
    Array<T>::Array(int s) : size(s)
    {
        val = new T[s];
    }
    
    template<class T>
    Array<T>::~Array()
    {
        delete[] val;
    }
    
    template<class T>
    T Array<T>::getsum()
    {
        T res = 0;
        for (int i = 0; i < size; i++) res += val[i];
        return res;
    }
    
    template<class T>
    T& Array<T>::operator[](int sub)
    {
        return val[sub];
    }
    
    int main()
    {
        int i, n, m;
        cin >> n >> m;
        Array<int> a1(n);
        Array<double> a2(m);
        for (i = 0; i < n; i++) cin >> a1[i];
        for (i = 0; i < m; i++) cin >> a2[i];
        cout << a1.getsum() << endl;
        cout << fixed << setprecision(2) << a2.getsum();
    }
    
  • 1

信息

ID
1011
难度
3
分类
(无)
标签
递交数
100
已通过
42
通过率
42%
上传者