動態多型 執行期間 物件導向
純虛函式 強制實現
更難除錯,執行更快
靜態多型 編譯期間 泛型
必須實現那些介面 非強制實行
份檔案寫注意
template
class demo
public:
template
void assign(const x val);
template
//注意順序
template
void assign(const x val);
不同型別呼叫
demo demo_int;
demo demo_double;
demo_int.assign(demo_double.getval());//使用統一介面獲取,因為是兩個class()
//寫operator= 注意
全特化,編譯時生成,是個全新的類,需要全部重寫
templatet>
class
demo
template<>//特化int型別需要重新寫
class
demo
>
偏特化,特化一部分,其餘的**編譯器還是會幫你生成
template<>
class
demo
*>::demo()//偏特化demo()構造,特化一部分
模板類繼承
templatet>
class
sondemo::public
demo
>
模板類單例模式,當包裝器
把模板類做成單利模式,裡面包裝的類都會變成包裝器
泛型 模板函式 模板類
函式模板的性質 1 函式模板並不是真正的函式,它只是c 編譯生成具體函式的乙個模子。2 函式模板本身並不生成函式,實際生成的函式是替換函式模板的那個函式,比如上例中的add sum1,sum2 這種替換是編譯期就繫結的。3 函式模板不是只編譯乙份滿足多重需要,而是為每一種替換它的函式編譯乙份。4 函...
C STL模板 stack queue 使用
1 stack stack 模板類的定義在標頭檔案中。stack 模板類需要兩個模板引數,乙個是元素型別,乙個容器型別,但只有元素型別是必要 的,在不指定容器型別時,預設的容器型別為deque。定義stack 物件的示例 如下 stacks1 stacks2 stack 的基本操作有 入棧,如例 s...
C STL 標準模板庫
1.泛型程式設計 在c 中,模板是泛型程式設計的基礎。下面有乙個stl初體驗的 include include include include include include using namespace std 自定義函式物件 template class square int test int...