类模板中函数参数问题
在MFC程序设计轻松入门这本书的38页中有一段程序:template<classT>classListNode{friendclassList<T>Public:List...
在MFC程序设计轻松入门这本书的38页中有一段程序:
template <class T>
class ListNode{
friend class List<T>
Public:
ListNode(T& t,ListNode<T>*p:data(p),next(p)){}; //(1)
protected:
T data;
ListNode* next;
}
而在其友元类List中有以下内容:
template<class T>
class List
{
.....
protected:
ListNode<T>*first
ListNode<T> * newNode(T& t,ListNode<T> *p)
{
ListNode<T> *q=new ListNode<T>(t,p); //(2)
return q;
}
}
在上面的程序中,(1)语句中的:data(p)表示什么,其中的p呢?
在(1)中ListNode有三个参数,而下面(2)中却只传入了两个参数,为什么 展开
template <class T>
class ListNode{
friend class List<T>
Public:
ListNode(T& t,ListNode<T>*p:data(p),next(p)){}; //(1)
protected:
T data;
ListNode* next;
}
而在其友元类List中有以下内容:
template<class T>
class List
{
.....
protected:
ListNode<T>*first
ListNode<T> * newNode(T& t,ListNode<T> *p)
{
ListNode<T> *q=new ListNode<T>(t,p); //(2)
return q;
}
}
在上面的程序中,(1)语句中的:data(p)表示什么,其中的p呢?
在(1)中ListNode有三个参数,而下面(2)中却只传入了两个参数,为什么 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询