類模板就是為類宣告一種模板,使得類中的某些資料成員,或某些成員函式的引數,又或者是某些成員函式的返回值可以取任意的資料型別,包括基本資料型別和自定義資料型別。
類模板的宣告形式如下:
template 《模板參數列》模板參數列中可以以下兩種模板引數:類宣告
1.class 識別符號(指明可以接受乙個型別引數,就是說這是個不固定的型別,用它生成類時才會產生真正的型別)
2.型別說明符 識別符號(指明可以接受乙個由「型別說明符」所指定型別的常量作為引數)
模板參數列可以包含乙個或多個以上兩種引數,多於乙個時各個引數之間用逗號分隔。雞啄公尺提醒大家注意的是,類模板的成員函式必須是函式模板。實際上,類模板並不是有實際意義的**,它只是一些具有相似功能的類的抽象,就是把這些類的共有部分寫成模板,型別作為引數,只有用類模板生成類時才會根據需要生成實際的類的**。
用類模板建立物件時的宣告形式為:
模板《模板參數列》 物件名1,...,物件名n;此處的模板參數列是用逗號分隔開的若干型別識別符號或常量表示式構成。它與上面類模板宣告時「模板參數列」中的引數是一一對應的。型別識別符號與類模板中的「class 識別符號」對應,常量表示式與「型別說明符 識別符號」對應。這樣宣告物件之後系統會根據指定的引數型別和常量值生成乙個類,然後建立該類的物件。
C C 程式設計 類模板
以stack為例學習類模板的使用 stack.hpp pragma once include include template typename t class stack 拷貝建構函式 賦值運算子 stack stackconst stack operator stackconst templat...
類模板 模板類
下面定義的是類模板,用int例項化t後成為模板類。例項化類模板的語法 類名 模板實參表 結合下例即 array就是將類模板array例項化為模板類的語法。類模板 include using namespace std templateclass array array t operator int ...
C C 基礎 模板
同前面的指標函式和函式指標類似,函式模板和模板函式也具有相似的關係,函式模板是乙個模板,模板函式是由函式模板所產生的函式。函式模板需要使用關鍵字template來宣告。include include using namespace std 宣告函式模板 template typename t voi...