自己動手寫資料結構 智慧型指標類

2021-06-08 05:28:24 字數 719 閱讀 6244

//智慧型指標類

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....