Привет уже 3 дня парю мозги над заданием. Реализуйте шаблонную версию класса Array. Список всех операций, которые должен поддерживать класс Array, приведен в шаблоне кода.
Sample Input: There are no tests for this task Sample Output: OK
вот собственно мой код
#include <cstddef>
template <typename T>
class Array
{
public:
explicit Array(size_t size = 0, const T& value = T()) :size_(size), dat(new T[size])
{
// const T * dp= &value ;
for (size_t i = 0; i<size; ++i)
{
dat[i]= value;
}
}
Array(const Array & a)
{
size_=a.size();
dat= new T [size_];
for (size_t i = 0; i<size_; ++i)
dat[i]= a.dat[i];
}
Array& operator=(const Array & a )
{
delete [] dat;
size_=a.size() ;
dat=new T [size_];
for (size_t i = 0; i<size_; ++i)
{
dat[i]= a.dat[i];
}
return * this;
}
size_t size() const
{
return size_ ;
}
T& operator[](size_t iter)
{
return dat[iter];
}
const T& operator[](size_t iter) const
{
return dat[iter];
}
~Array()
{
delete [] dat;
}
private:
size_t size_;
T * dat;
};
Помогите пожалуйста понять что у меня неправильно!