Это заголовок для рассматриваемого класса.Идея состоит в том, чтобы иметь класс, который действует как указатель для доступа к куче.Пока что у меня есть это.
#ifndef PTR_H_
#define PTR_H_
template < typename T >
class ptr
{
private:
T * p;
public:
ptr< T >()
: p(new T)
{
}
ptr< T >(ptr & pt)
: p(pt.p)
{
}
~ptr()
{
delete [] p;
}
};
#endif
Для простоты я держал их всех встроенными, но все сказано и сделано, я врезаюсь в стену.Я пытаюсь получить доступ к куче сразу, и у меня уже возникает проблема нескалярного типа.
Вот главное.
#include <iostream>
#include "ptr.h"
int main()
{
ptr< int > p = new int;
return 0;
}
Мой вопрос довольно прост, так как я все еще новичок в C ++ ООП, что именно я сделал не так и какие рекомендации мне нужно знать, чтобы избежать этой проблемы?