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);
- 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);
- 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];
- }
- 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 = 3;
- IntArray intarr3 = IntArray(tmp, n);
- cout << intarr3.size() << endl;
- IntArray intarr4 = IntArray();
- intarr4 = intarr2 + intarr3;
- cout << intarr4.size() << endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement