1. 程式人生 > 其它 >c++中類模板與結構體模板總結

c++中類模板與結構體模板總結

c++中類模板與結構體模板總結

Child_heart2018-04-09 22:05:236728已收藏9

分類專欄:C++

版權

今天剛剛編完資料結構中的單鏈表,其中用到了類模板,發現自己有許多不熟練的地方和普通的基本型別不一樣的地方。所以現在記錄下來,以便以後的複習與回顧。

模板的定義的關鍵詞是template

1.類模板的定義


  1. template<class T>

  2. class Linklist

  3. {

  4. public:

  5. Linklist();

  6. Linklist(T a[], int i);

  7. ~Linklist();

  8. int Length();

  9. T Get(int i);

  10. int Locate(T x);

  11. void Insert(T x, int i);

  12. T Delete(int i);

  13. void Printline();

  14. private:

  15. Node<T> *first=new Node<T>;

  16. };

2.結構體模板的定義,與類模板相似


  1. template<class T>

  2. struct Node

  3. {

  4. T data;

  5. Node<T> *next;

  6. };

3.在類外宣告函式方法時同樣需要template<class T> 而且在類後需要加資料型別T,例如


  1. template<class T>

  2. Linklist<T>::Linklist() {

  3. first = new Node;

  4. first->next = null;

  5. }

4.結構體模板的宣告

對於指標需要申請存取空間

Node<T> *p=new Node<T>;

5.類模板的宣告

Linklist<int> m = Linklist<int>(a, 5);

都需要說明資料型別T