C++的一個簡單的控制程式碼類别範本
#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)
:ptr_(ptr->copy())
{}
template <typename T>
inline Handle<T>::Handle(const Handle &other)
:ptr_(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*/
相關文章
- C++ 單例類别範本(詳解)C++單例
- C++ 類别範本的寫法C++
- 類别範本 單例模板單例
- c++佇列類别範本的實現C++佇列
- 【C++】 59_類别範本深度剖析C++
- c++函式模板和類别範本C++函式
- 隱藏在 SDK 中的單例類别範本單例
- 類别範本的常見用法
- c++中模板_類别範本的宣告和定義C++
- C++知識點57——類别範本(2、類别範本的區域性特化與預設模板實參)C++
- 【C++】 61_智慧指標類别範本C++指標
- 陣列類别範本陣列
- c++類别範本成員函式報錯C++函式
- C++之函式模板與類别範本的區別(三)C++函式
- 非型別的類别範本引數型別
- C++ Templates (2.1 類别範本Stack的實現 Implementation of Class Template Stack)C++
- 【C++ 泛型程式設計01:模板】函式模板與類别範本C++泛型程式設計函式
- C++ Templates (2.2 使用Stack類别範本 Use of Class Template Stack )C++
- C++ Templates (2.3 類别範本的區域性使用 Partial Usage of Class Templates)C++
- C++學習筆記 第59課類别範本深度刨析C++筆記
- 自定義 Xcode ViewController 類别範本XCodeViewController
- 封裝不同類别範本的隨機數生成器封裝隨機
- 類别範本及其成員函式的定義及注意事項函式
- c++11-17 模板核心知識(二)—— 類别範本C++
- 資料結構初階--單連結串列(講解+類别範本實現)資料結構
- c++入門之學生類的簡單程式碼C++
- 【演算法學習】數學專題 有理數類别範本演算法
- c++類的簡單例項C++單例
- 使用C#寫出一個簡單的記事本程式C#
- 演算法:如何使用C++實現一個簡單的集合類演算法C++
- 一個簡單清晰的Redis操作類Redis
- 寫一個簡單的程式碼生成器
- 【C++】實現一個簡單的單例模式C++單例模式
- 資料結構初階--棧和佇列(講解+類别範本實現)資料結構佇列
- 類别範本繼承和部分具體化例子及非型別引數繼承型別
- 寫一個簡單的 Linux Shell (C++)LinuxC++
- 如何設計一個簡單的 C++ ORMC++ORM
- 程式碼來構建一個簡單的compilerCompile