#include using namespace std;
template>//利用順序表實現棧
#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()
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...