template <class T>
class auto_ptr
{
public:
auto_ptr(T* ptr = 0) : pointee(ptr) {}
auto_ptr(auto_ptr<T>& rhs);
auto_ptr<T>& operate= (auto_ptr<T>& rhs);
~auto_ptr() {delete pointee;}
private:
T* pointee;
};
template<class T>
auto_ptr<T>:::auto_ptr(auto_ptr<T>& rhs)
{
pointee = rhs.pointee;
rhs.pointee = 0;
}
template<class T>
auto_ptr<T>& auto_ptr<T>::operate= (auto_ptr<T>& rhs)
{
if (this == &rhs)
{
return *this;
}
delete pointee;
。。。。
。。。。
return *this;
}
近期评论