Facebook
From Edgy Hamerkop, 5 Years ago, written in C++.
Embed
Download Paste or View Raw
Hits: 197
  1. #pragma once
  2. #include <iostream>
  3.  
  4. template<typename T>
  5. class Array
  6. {
  7. private:
  8.         int m_capacity = 0;
  9.         T* m_data = nullptr;
  10. public:
  11.         Array(int capacity) : m_capacity(capacity), m_data(new T[capacity]{})
  12.         {
  13.         }
  14.  
  15.         int GetCapacity()
  16.         {
  17.                 return m_capacity;
  18.         }
  19.  
  20.         bool IsEmpty()
  21.         {
  22.                 return m_capacity == 0;
  23.         }
  24.  
  25.         T& operator[](int index)
  26.         {
  27.                 return m_data[index];
  28.         }
  29.  
  30.         friend std::ostream& operator<< (std::ostream& stream, const Array& array)
  31.         {
  32.                 for (int i = 0; i <= array.m_capacity - 1; i++)
  33.                 {
  34.                         stream << i << ": " << array.m_data[i] << std::endl;
  35.                 }
  36.                 return stream;
  37.         }
  38. };