fork download
  1. #include <cstddef>
  2.  
  3. class Array
  4. {
  5. public:
  6. Array(): size(0), data(NULL) { ; }
  7. Array(size_t s): size(s), data(new double[s]) { ; }
  8. Array& operator=(const Array& a)
  9. {
  10. delete[] this->data;
  11. this->data = new double[a.size];
  12. for(size_t i = 0; i < a.size; ++i)
  13. this->data[i] = a.data[i];
  14. this->size = a.size;
  15. return *this;
  16. }
  17.  
  18. Array operator+(const Array& a)
  19. {
  20. Array tmp(this->size + a.size);
  21. size_t i;
  22. for(i = 0; i < this->size; ++i)
  23. tmp.data[i] = this->data[i];
  24. for(size_t j = 0; j < a.size; ++i, ++j)
  25. tmp.data[i] = a.data[j];
  26.  
  27. return tmp;
  28. }
  29. private:
  30. size_t size;
  31. double* data;
  32. };
  33.  
  34. int main()
  35. {
  36. Array a(5);
  37. Array b(3);
  38. Array c;
  39. c = a + b;
  40.  
  41. return 0;
  42. }
Success #stdin #stdout 0s 2980KB
stdin
Standard input is empty
stdout
Standard output is empty