#pragma once

#include <iostream>

using namespace std;

template<class T>
class Array {

private:
	T *buf;
	int len;

public:
	Array(int size);
	Array(const Array<T> &a);
	~Array();

	T& operator[](int index) const;
	int length() const;
	void operator=(const Array<T> &a);
};

template<class T>
ostream& operator<<(ostream &o, const Array<T> &a);

