[C++] 自定义数组长度,并求和,可以更改对象值 →→→→→进入此内容的聊天室

来自 , 2020-02-05, 写在 C++, 查看 136 次.
URL http://www.code666.cn/view/dc513ea4
  1. #include<iostream>
  2. using namespace std;
  3. class Data
  4. {
  5. private:
  6.     int data;
  7. public:
  8.     Data()
  9.     {
  10.         data=0;
  11.         cout<<"Data's default constructor."<<endl;
  12.     }
  13.    ~Data()
  14.    {
  15.        cout<<"Data "<<data<<" is erased."<<endl;
  16.    }
  17.    int getValue()
  18.    {
  19.        return data;
  20.    }
  21.    void setValue(int a)
  22.    {
  23.       data=a;
  24.    }
  25. };
  26. class DataArray
  27. {
  28. private:
  29.     int num;
  30.     Data* da;
  31.     public:
  32.     DataArray(int n,int *t)
  33.     {
  34.         num=n;
  35.         da=new Data[n];
  36.         int i;
  37.         for(i=0;i<n;i++)
  38.         {
  39.             da[i].setValue(t[i]);
  40.         }
  41.         cout<<"DataArray's constructor."<<endl;
  42.     }
  43.      int getSum()
  44.      {
  45.          int i,sum=0;
  46.          for(i=0;i<num;i++)
  47.              sum = sum + da[i].getValue();
  48.          return sum;
  49.      }
  50.      ~DataArray()
  51.      {
  52.          delete []da;
  53.          cout<<"DataArray's deconstructor."<<endl;
  54.      }
  55. };
  56. int main()
  57. {
  58.     int i, n;
  59.     Data test, *testP;
  60.     cin>>n;
  61.     int tmp[n];
  62.     for (i = 0; i < n; i++)
  63.         cin>>tmp[i];
  64.     DataArray datas(n, tmp);
  65.     cout<<"Sum is "<<datas.getSum()<<endl;
  66.     testP = new Data;
  67.     cin>>n;
  68.     testP->setValue(n);
  69.     delete testP;
  70.     return 0;
  71. }
  72.  

回复 "自定义数组长度,并求和,可以更改对象值"

这儿你可以回复上面这条便签

captcha