结点的模板

结点模板(用struct/class均可)

(1)struct型

template<class T> //class表明其后面的符号是一种数据类型(可用typename代替)

struct Node
{
    T data;//数据域,类型为T
    Node<T>* next=NULL;//后继,一个指向相同类型(Node<T>型)的指针

//如Init->next是Init指向的结点的后继(也为指针)
};

注:

①C++中struct前无需加typedef即可直接声明变量,如建立头结点Node* Init=new Node;(类似class)

②Node<T>是一个模板结构体,表明指针next指向(未确定具体类型的)模板结构体Node;

若不加<T>,意味着next指向一类型已确定的结构体Node,将使代码从一个模板结构体变成一个普通的结构体

实例:

Node<int> Init;

此时,Node结构体Init中data成为整数类型,next是指向该Node类型的指针

(2)class型

template<class T>
class Node
{

public:
    T data;//数据域

private:
    Node<T>* next=NULL;
};

 一般将data设为public,next设为private

 注:后续定义要使用结点模板的类模板时需再写一次template< class T>

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值