Advertisement
PALI_nka

Untitled

Jan 20th, 2020
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.11 KB | None | 0 0
  1. #include <cstdint>
  2. #include <iostream>
  3. #include "employees.h"
  4.  
  5. EmployeesArray::EmployeesArray() {
  6.     _size = 0;
  7.     _capacity = 2; //16
  8.     _employees = new Employee*[_capacity];
  9. };
  10.  
  11. EmployeesArray::EmployeesArray(const EmployeesArray &other) {
  12.     _size = other._size;
  13.     _capacity = other._capacity;
  14.     _employees = other._employees;
  15. };
  16.  
  17. EmployeesArray::~EmployeesArray() {
  18.     delete[] _employees;
  19. };
  20.  
  21. void EmployeesArray::add(const Employee *e) { //const
  22.     _size++;
  23.     if (_size <= _capacity) {
  24.         _employees[_size-1] = e;
  25.         return;
  26.     };
  27.  
  28.     int new_capacity = 2*_capacity;
  29.     Employee **new_employees = new Employee*[new_capacity];
  30.     for (int i = 0; i < _capacity; i++) {
  31.       new_employees[i] = _employees[i];
  32.     }
  33.     delete[] _employees;
  34.     _employees = new_employees;
  35.     _capacity = new_capacity;
  36.     _employees[_size-1] = e;
  37. };
  38.  
  39. EmployeesArray& EmployeesArray::operator=(EmployeesArray &other) {
  40.     std::swap(this->_size, other._size);
  41.     std::swap(this->_capacity, other._capacity);
  42.     std::swap(this->_employees, other._employees);
  43.     return *this;
  44. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement