+#include "Array.h"
+#include <iostream>
+
+template<typename T>
+void print_array(Array<T> &arr)
+{
+ std::cout << "Array: ";
+ for (size_t i(0); i < arr.size() - 1; ++i)
+ std::cout << arr[i] << ", ";
+ std::cout << arr[arr.size() - 1] << '\n';
+}
+
+int main(void)
+{
+ Array<int> i_arr(5);
+ Array<double> d_arr(3);
+
+ print_array(i_arr);
+ print_array(d_arr);
+ i_arr[0] = 5;
+ i_arr[1] = 15;
+ i_arr[2] = 93;
+ i_arr[3] = 9282384;
+ i_arr[4] = 832;
+ d_arr[0] = 54.54654;
+ d_arr[1] = 0.234541;
+ try
+ {
+ d_arr[2] = 2146584.21;
+ d_arr[3] = 45.24584;
+ }
+ catch (const std::exception &exception)
+ {
+ std::cout << "Cought an invalid access\n";
+ }
+ print_array(i_arr);
+ print_array(d_arr);
+ try
+ {
+ std::cout << i_arr[6];
+ }
+ catch (const std::exception &exception)
+ {
+ std::cout << "Cought an invalid access\n";
+ }
+ return (0);
+}