程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> C++的一個簡單的句柄類模板

C++的一個簡單的句柄類模板

編輯:C++入門知識

C++的一個簡單的句柄類模板


#ifndef HANDLE_H
#define HANDLE_H 
#include "Animal.h"

template 
class Handle{
    public:
        Handle(T *ptr);
        Handle(const Handle &other);
        Handle &operator = (const Handle &other);
        ~Handle();
        T *operator->();
    private:
        T *ptr_;
};

template 
inline Handle::Handle(T *ptr)
    :ptr_(ptr->copy())
{}

template 
inline Handle::Handle(const Handle &other)
    :ptr_(other.ptr_->copy())
{}

template 
inline Handle &Handle::operator = (const Handle &other)
{
    if(this != &other){
        delete ptr_;
        ptr_ = other.ptr_->copy();
    }
    return *this;
}

template 
inline Handle::~Handle()
{
    delete ptr_;
}

template 
inline T *Handle::operator -> ()
{
    return ptr_;
}
#endif  /*HANDLE_H*/

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved