首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

新手:链表例题很多不懂,求教,该怎么解决

2012-02-17 
新手:链表例题很多不懂,求教小第学习中看一题,很多不明白,望大虾们帮哈#ifndefLISTND_H#defineLISTND_Htem

新手:链表例题很多不懂,求教
小第学习中看一题,很多不明白,望大虾们帮哈
#ifndef   LISTND_H
#define   LISTND_H

template   <class   NODETYPE>   class   List;     //这种写法不懂,书上叫类模板介绍很少

template   <class   NODETYPE>
class   ListNode
{
friend   class   List   <NODETYPE> ;     //这句也不明白,定义个友元类?

public:
ListNode(const   NODETYPE   &);
NODETYPE   getData()   const;//return   data   in   the   node

private:
NODETYPE   data;
ListNode   <NODETYPE>   *nextPtr;     //这句写法不解,
};

//constructor
template   <class   NODETYPE>
ListNode   <NODETYPE> ::ListNode(const   NODETYPE   &info)
:data(info),   nextPtr(0){}

//return   a   copy   of   the   data   in   the   node
template   <class   NODETYPE>
NODETYPE   ListNode   <NODETYPE> ::getData()   const   {return   data;}

#endif

整个看不懂,我知道很多基地,但是看前面后还是不理解,大虾帮解释下,谢谢

[解决办法]
还没学模板就别看模板的东西。
去找本C++ Primer,先认真学了模板再说。
[解决办法]
1、template <class NODETYPE> class List;//这种写法不懂,书上叫类模板介绍很少
就是预定义一下,下面要用到,不然可能找不到。
2、friend class List <NODETYPE> ; //这句也不明白,定义个友元类?
意思就是List类可直接操作Node类的私有数据。
3、ListNode <NODETYPE> *nextPtr; //这句写法不解,
这是模版类的写法,NODETYPE定义了类型。

其实楼上说的对,先看c++primer吧

[解决办法]
建议按照ls的ls的方法学
要不,会受伤很重
[解决办法]
3或4随便。网上买可以7.5折,不贵了,此书绝对物超所值。

热点排行