Advertisement
Guest User

cau2

a guest
Jun 17th, 2019
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.54 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.     friend IntArray operator+(IntArray &src, IntArray &dst)
  20.     {
  21.         int size = src.size() + dst.size();
  22.         int tmp[size];
  23.         int i;
  24.         for (i = 0; i < src.size(); i++) {
  25.             tmp[i] = src.at(i);
  26.         }
  27.         for (int j = 0; j < dst.size(); j++) {
  28.             tmp[++i] = dst.at(j);
  29.         }
  30.         IntArray ret = IntArray(tmp, size);
  31.         return ret;
  32.     }
  33. };
  34.  
  35. IntArray::IntArray()
  36. {
  37.     len = 0;
  38.     arr = new int[len];
  39. }
  40.  
  41. IntArray::IntArray(int n)
  42. {
  43.     len = 1;
  44.     arr = new int[len];
  45.     arr[0] = n;
  46. }
  47.  
  48. IntArray::IntArray(int *v, int n)
  49. {
  50.     len = n;
  51.     arr = new int[len];
  52.     for (int i = 0; i < n; i++)
  53.     {
  54.         arr[i] = v[i];
  55.     }
  56. }
  57.  
  58. IntArray::~IntArray()
  59. {
  60.     len = 0;
  61.     delete arr;
  62. }
  63.  
  64. int IntArray::size()
  65. {
  66.     return len;
  67. }
  68.  
  69. int IntArray::at(int i)
  70. {
  71.     return arr[i];
  72. }
  73.  
  74. int main()
  75. {
  76.     IntArray intarr1 = IntArray();
  77.     cout << intarr1.size() << endl;
  78.  
  79.     IntArray intarr2 = IntArray(10);
  80.     cout << intarr2.size() << endl;
  81.  
  82.     int tmp[10] = {1, 2, 3, 4, 5};
  83.     int n = 3;
  84.     IntArray intarr3 = IntArray(tmp, n);
  85.     cout << intarr3.size() << endl;
  86.  
  87.     IntArray intarr4 = IntArray();
  88.     intarr4 = intarr2 + intarr3;
  89.     cout << intarr4.size() << endl;
  90.  
  91.     return 0;
  92. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement