C 堆疊模板類

2021-05-06 07:24:22 字數 1046 閱讀 4129

#ifndef stack_h

#define stack_h

#include

using namespace std;

template

class stack;

template

class node

//必須把next置0,否則在stack析構時會有問題

friend class stack;

private:

t data;

node *next;

};template

class stack

~stack();

void push(const t& item);  //向棧頂壓入元素

t& top();                   //讀取棧頂元素   

void pop();                   //刪除棧頂元素   

bool empty();              //判斷棧是否為空

int size()  //讀取棧大小

private:

node*_top;

int _size;

};template

stack::~stack()

};template

void stack::push(const t& item)

node*p = new node(item);

node*q = _top;

_top = p;

_top->next = q;

_size++;

}template

void stack::pop()

node*p = _top->next;

delete _top;

_top = p;

_size --;

}template

bool stack::empty()

template

t& stack::top()

return _top->data;

}#endif

C 陣列實現佇列 堆疊 模板類

前面發現老師要求我們寫乙個堆疊 佇列,但是我發現每一次都要修改資料型別,而且我在網上也沒找到模板類,所以我就自己看了看模板類的知識,自己用陣列寫了乙個,貌似使用起來沒有什麼問題。1.迴圈佇列 templateclass myqueue templatemyqueue myqueue int max ...

c 類模板(模板類)

人們需要編寫多個形式和功能都相似的函式,因此有了函式模板來減少重複勞動 人們也需要編寫多個形式和功能都相似的類,於是 c 引人了類模板的概念,編譯器從類模板可以自動生成多個類,避免了程式設計師的重複勞動。有了類模板的機制,只需要寫乙個可變長的陣列類模板,編譯器就會由該類模板自動生成整型 double...

C 模板類和類模板

用相同的類模板可以組建任何型別的物件集合。在傳統c 中,可能有乙個浮點數類或者乙個整數類,如果使用類模板,可以定義乙個對兩者都適用的類number。類模板說明 類模板說明的一般形式是 template 型別形參表 class 類名 template 型別形參表 返回型別 類名 型別名錶 成員函式1 ...