#ifndef handle_h#define handle_h #include "Animal.h" template <typename t>class handle{public : HANDLE (T *PTR); Handle (const Handle &other); Handle &operator = (const Handle &other); ~handle (); T *operator-> (); Private: T *ptr_;}; Template <typename t>inline handle<t>::handle (T *ptr) :p tr_ (ptr->copy ()) {}template <typename T >inline handle<t>::handle (const Handle &other) :p tr_ (other.ptr_->copy ()) {}template < TypeName T>inline handle<t> &handle<t>::operator = (const Handle &other) { if (this = & Other) { delete ptr_; Ptr_ = Other.ptr_->copy (); } return *this;} Template <typename t>inline Handle<t>::~handle () { delete ptr_;} Template <typename t>inline T *handle<t>::operator () { return ptr_;} #endif /*handle_h*/
Copyright notice: This article Bo Master original articles, blogs, without consent may not be reproduced.
C + + A simple handle class template