Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #pragma once
- class Vector
- {
- public:
- Vector() {
- data = new int[1];
- size = 0;
- capacity = 1;
- std::cout << "creating obj\n";
- }
- Vector(int _size) {
- if (_size <= 0)
- throw "size must be more than 0\n";
- capacity = _size;
- data = new int[capacity];
- size = 0;
- }
- int getSize() {
- return size;
- }
- Vector(int source[], int _size) {
- capacity = _size;
- size = _size;
- data = new int[capacity];
- for (int i = 0; i < capacity; ++i)
- data[i] = source[i];
- }
- void push_back(int val) {
- if (size < capacity)
- {
- data[size++] = val;
- return;
- }
- int* dmp = new int[capacity];
- for (int i = 0; i < capacity; ++i)
- dmp[i] = data[i];
- dmp[size++] = val;
- delete[] data;
- data = dmp;
- }
- int pop_back() {
- if (size == 0)
- throw"exeption";
- return data[size--];
- }
- int& getElemAt(int index) {
- if ((index < 0) || (index > size - 1))
- throw"exp";
- return data[index];
- }
- // коструктор по умолчанию
- ~Vector() {
- std::cout << "EXTERMINATE\n";
- delete[] data;
- }
- void print() {
- for (int i = 0; i < size; ++i)
- std::cout << data[i] << " \n";
- std::cout << std::endl;
- }
- private:
- int*data;
- int size;
- int capacity;
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement