Advertisement
Guest User

cau2 (update)

a guest
Jun 17th, 2019
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.77 KB | None | 0 0
  1. #include <iostream>
  2. #include <cmath>
  3.  
  4. using namespace std;
  5.  
  6. class IntArray
  7. {
  8. private:
  9.     int *arr;
  10.     int len;
  11.  
  12. public:
  13.     IntArray();
  14.     IntArray(int n);
  15.     IntArray(int *v, int n);
  16.     ~IntArray();
  17.     int size();
  18.     int at(int i);
  19.     void print();
  20.     friend IntArray operator+(IntArray &src, IntArray &dst)
  21.     {
  22.         int size = src.size() + dst.size();
  23.         int tmp[size];
  24.         int i;
  25.         for (i = 0; i < src.size(); i++)
  26.         {
  27.             tmp[i] = src.at(i);
  28.         }
  29.         for (int j = 0; j < dst.size(); j++)
  30.         {
  31.             tmp[i++] = dst.at(j);
  32.         }
  33.         IntArray ret = IntArray(tmp, size);
  34.         fflush(stdout);
  35.         return ret;
  36.     }
  37. };
  38.  
  39. IntArray::IntArray()
  40. {
  41.     len = 0;
  42.     arr = new int[len];
  43. }
  44.  
  45. IntArray::IntArray(int n)
  46. {
  47.     len = 1;
  48.     arr = new int[len];
  49.     arr[0] = n;
  50. }
  51.  
  52. IntArray::IntArray(int *v, int n)
  53. {
  54.     len = n;
  55.     arr = new int[len];
  56.     for (int i = 0; i < n; i++)
  57.     {
  58.         arr[i] = v[i];
  59.     }
  60. }
  61.  
  62. IntArray::~IntArray()
  63. {
  64.     len = 0;
  65.     delete arr;
  66. }
  67.  
  68. int IntArray::size()
  69. {
  70.     return len;
  71. }
  72.  
  73. int IntArray::at(int i)
  74. {
  75.     return arr[i];
  76. }
  77.  
  78. void IntArray::print()
  79. {
  80.     for (int i = 0; i < this->size(); i++)
  81.     {
  82.         cout << this->at(i) << " ";
  83.     }
  84.     cout << endl;
  85. }
  86.  
  87. int main()
  88. {
  89.     IntArray intarr1 = IntArray();
  90.     cout << intarr1.size() << endl;
  91.  
  92.     IntArray intarr2 = IntArray(10);
  93.     cout << intarr2.size() << endl;
  94.  
  95.     int tmp[10] = {1, 2, 3, 4, 5};
  96.     int n = 5;
  97.     IntArray intarr3 = IntArray(tmp, n);
  98.     cout << intarr3.size() << endl;
  99.  
  100.     // IntArray intarr4 = IntArray();
  101.     IntArray intarr4 = intarr2 + intarr3;
  102.     cout << intarr4.size() << endl;
  103.     intarr4.print();
  104.  
  105.     return 0;
  106. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement