c++中類模板與結構體模板總結
阿新 • • 發佈:2020-12-29
c++中類模板與結構體模板總結
Child_heart2018-04-09 22:05:236728已收藏9
分類專欄:C++
版權
今天剛剛編完資料結構中的單鏈表,其中用到了類模板,發現自己有許多不熟練的地方和普通的基本型別不一樣的地方。所以現在記錄下來,以便以後的複習與回顧。
模板的定義的關鍵詞是template
1.類模板的定義
-
template<class T>
-
class Linklist
-
{
-
public:
-
Linklist();
-
Linklist(T a[], int i);
-
~Linklist();
-
int Length();
-
T Get(int i);
-
int Locate(T x);
-
void Insert(T x, int i);
-
T Delete(int i);
-
void Printline();
-
private:
-
Node<T> *first=new Node<T>;
-
};
2.結構體模板的定義,與類模板相似
-
template<class T>
-
struct Node
-
{
-
T data;
-
Node<T> *next;
-
};
3.在類外宣告函式方法時同樣需要template<class T> 而且在類後需要加資料型別T,例如
-
template<class T>
-
Linklist<T>::Linklist() {
-
first = new Node;
-
first->next = null;
-
}
4.結構體模板的宣告
對於指標需要申請存取空間
Node<T> *p=new Node<T>;
5.類模板的宣告
Linklist<int> m = Linklist<int>(a, 5);
都需要說明資料型別T