Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cmath>
- using namespace std;
- class IntArray
- {
- private:
- int *arr;
- int len;
- public:
- IntArray();
- IntArray(int n);
- IntArray(int *v, int n);
- ~IntArray();
- int size();
- int at(int i);
- void print();
- friend IntArray operator+(IntArray &src, IntArray &dst)
- {
- int size = src.size() + dst.size();
- int tmp[size];
- int i;
- for (i = 0; i < src.size(); i++)
- {
- tmp[i] = src.at(i);
- }
- for (int j = 0; j < dst.size(); j++)
- {
- tmp[i++] = dst.at(j);
- }
- IntArray ret = IntArray(tmp, size);
- fflush(stdout);
- return ret;
- }
- };
- IntArray::IntArray()
- {
- len = 0;
- arr = new int[len];
- }
- IntArray::IntArray(int n)
- {
- len = 1;
- arr = new int[len];
- arr[0] = n;
- }
- IntArray::IntArray(int *v, int n)
- {
- len = n;
- arr = new int[len];
- for (int i = 0; i < n; i++)
- {
- arr[i] = v[i];
- }
- }
- IntArray::~IntArray()
- {
- len = 0;
- delete arr;
- }
- int IntArray::size()
- {
- return len;
- }
- int IntArray::at(int i)
- {
- return arr[i];
- }
- void IntArray::print()
- {
- for (int i = 0; i < this->size(); i++)
- {
- cout << this->at(i) << " ";
- }
- cout << endl;
- }
- int main()
- {
- IntArray intarr1 = IntArray();
- cout << intarr1.size() << endl;
- IntArray intarr2 = IntArray(10);
- cout << intarr2.size() << endl;
- int tmp[10] = {1, 2, 3, 4, 5};
- int n = 5;
- IntArray intarr3 = IntArray(tmp, n);
- cout << intarr3.size() << endl;
- // IntArray intarr4 = IntArray();
- IntArray intarr4 = intarr2 + intarr3;
- cout << intarr4.size() << endl;
- intarr4.print();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement