Pointer
文章目錄
- 1 智能指針的設計方案
- 2 代碼實現
1 智能指針的設計方案
繼承關系類圖:
設計方案:
- Pointer是智能指針的抽象父類(模板)。
- 純虛析構函數virtual ~Pointer() = 0;。
- 重載operator -> ();。
- 重載operator * ();。
Pointer接口定義:
2 代碼實現
#ifndef POINTER_H #define POINTER_H#include "Object.h"namespace LemonLib { template < typename T > class Pointer : public Object { protected:T* m_pointer;public:Pointer(T* p = NULL){m_pointer = p;}T* operator -> (){return m_pointer;}const T* operator -> () const{return m_pointer;}T& operator * (){return *m_pointer;}const T& operator * () const{return *m_pointer;}bool isNull() const{return (m_pointer == NULL);}T* get() const{return m_pointer;} }; }#endif // POINTER_H總結
- 上一篇: 以太网输入输出处理的实现
- 下一篇: 红星苹果需要授粉吗?