模板引數和模板的模板引數實現棧和佇列

2021-08-10 19:00:35 字數 2419 閱讀 5576

#include using namespace std;

//利用順序表實現棧

#if 0

template class stack

stack(const t*arr, size_t sz)

:_ptr(new t[sz])

, _capacity(sz)

, _size(sz) }

//元素入棧

void push(t data)

//元素出棧

t& pop()

//判空

bool empty()

size_t capacity()

//獲取大小

size_t size()

//獲取棧頂元素

size_t top()

~stack()

private:

//增容

void increasecapacity()

delete _ptr;

_ptr = newptr;

_capacity = newsize;

} }private:

t* _ptr;

size_t _capacity;

size_t _size;

};void test()

; int sz = sizeof(arr) / sizeof(arr[0]);

stacks1;

stacks2(arr, sz);

s2.push(4);

s2.push(5);

cout<>

class stack

//入棧

void push(const t&data)

//出棧

t& pop()

//判空

bool empty()const

//棧頂

const t& top()

size_t size()const

~stack()

private:

container v;

};void test()

//入棧

void push(const t&data)

//出棧

t& pop()

//判空

bool empty()const

//棧頂

const t& top()

size_t size()const

~stack()

private:

containerv;

};void test()

#endif

//佇列

template>

class queue

~queue()

{} //入對列

void push(const t&data)

//出佇列

t& pop()

//判空

bool empty()const

size_t size()const

private:

container v;

};void test()

int main()

template>

class stack

//入棧

void push(const t&data)

//出棧

t& pop()

//判空

bool empty()const

//棧頂

const t& top()

size_t size()const

~stack()

private:

container v;

};void test()

//入棧

void push(const t&data)

//出棧

t& pop()

//判空

bool empty()const

//棧頂

const t& top()

size_t size()const

~stack()

private:

containerv;

};void test()

#endif

//佇列

template>

class queue

~queue()

{} //入對列

void push(const t&data)

//出佇列

t& pop()

//判空

bool empty()const

size_t size()const

private:

container v;

};void test()

int main()

C 模板模板引數

c 模板的使用一共有以下幾種情況。而本篇介紹模板模板引數。模板引數就是模板的引數,我們一般指定為t型別,實際上可以使用任何的名字,例如指定乙個foo的模板引數 temlate foo calc const foo a,const foo b 而模板模板引數則是模板的引數又是乙個模板,例如 templ...

C 模板模板引數

模板引數就是模板的引數,我們一般指定為t型別,實際上可以使用任何的名字,例如指定乙個foo的模板引數 temlate foo calc const foo a,const foo b 而模板模板引數則是模板的引數又是乙個模板,例如 templatetypename container class x...

模板 一 模板與非型別模板引數 模板的模板引數

活著就意味必須要做點什麼,請好好努力。地下 模版是泛型程式設計的基礎,模版分為 函式模版 和 類模版 函式模板格式 template class 或typename 形參名1 class 形參名2 class 形參名n 返回型別 函式名 引數列表 模板形參的定義既可以使用class,也可以使用typ...