//智慧型指標類
class smartpt
~smartpt()
friend class hasptr;
int* pt;
size_t use;
};class hasptr
hasptr(const hasptr& h):ptr(h.ptr), val(h.val)
~hasptr()
hasptr& operator = (const hasptr& h);
smartpt* get_ptr() const
int get_val() const
void set_ptr(int* p)
void set_val(int v)
int get_ptr_val() const
void set_ptr_val(int v)
protected:
private:
smartpt* ptr;
int val;
};hasptr& hasptr::operator = (const hasptr& h)
ptr = h.ptr;
val = h.val;
return *this;
}
void testsmartpt(void) //測試函式
自己動手寫資料結構 Queue類模板的鍊錶實現
include mystack.h 包含stack模板類標頭檔案 template class myqueue myqueue const myqueue q myqueue operator const myqueue q bool operator const myqueue q bool op...
21 手寫實現智慧型指標類
template class t class smartpointer 指標拷貝建構函式,新建乙個指向已有物件的智慧型指標 需要先設定ptr和ref count 設為指向sptr的ptr和ref count 並且,因為新建了乙個ptr的引用,所以引用計數加一 smartpointer smartpo...
自己動手實現資料結構模板 3 棧和佇列
棧和佇列的實現借助了鍊錶。到鍊錶實現方法的鏈結。繼承了dtslist,然後在此基礎上增加了push pop等函式來入出棧或佇列,增加了返回 棧底和棧頂 或 隊頭和隊尾 的值的函式。棧 ifndef dts stack hpp define dts stack hpp include dtslist....