Ошибка error C2039: {ctor}: не является членом
Дано: число N и последовательность a1, a2, … aN
Создать шаблон класса, порождающий динамические одномерные массивы с элементами различных типов (вещественные, целочисленные, символьные и т.д.). Тип данных и результат являются параметрами по отношению к классу, программа должна иметь методы инициализации, конструктор, деструктор, метод просмотра значений созданного массива, согласно заданному алгоритму.
(a1*a1), (a1*a2), …, (a1*aN);
Код
#include "stdafx.h"
#include "iostream"
using namespace std;
template <typename T>
class Mas
{
private:
T N;
T* mas;
public:
void set(T N);
void print();
};
template <typename T>
Mas<T>::Mas(T N)
{
mas = new T [N];
for(int i(0);i<=N;i++)
{
cin>>mas[i];
}
}
template <typename T>
Mas<T>::~Mas()
{
delete [] mas;
}
template <typename T>
Mas<T>::Mas()
{}
template <typename T>
void Mas<T>::set(T N)
{
mas = new T [N];
for(int i(0);i<=N;i++)
{
cin>>mas[i];
}
};
template <typename T>
void Mas<T>::print()
{
for(int i(0);i<=N;i++)
{
cout<<mas[i] = mas[1]*mas[i];
}
}
int _tmain(int argc, _TCHAR* argv[])
{
Mas<int> a;
a.set(3);
a.print();
return 0;
}
Выдает ошибки:
Ошибка 1 error C2039: {ctor}: не является членом
"Mas<T>" c:\users\user\desktop\dz 6\dz 6\dz 6.cpp 33 1 DZ 6
Ошибка 2 error C2039: {dtor}: не является членом
"Mas<T>" c:\users\user\desktop\dz 6\dz 6\dz 6.cpp 40 1 DZ 6
Ошибка 3 error C2039: {ctor}: не является членом
"Mas<T>" c:\users\user\desktop\dz 6\dz 6\dz 6.cpp 44 1 DZ 6
Как избавится от ошибок, и правильно ли я решил задачу?