初学者问一个C++构造函数的有关问题

菜鸟问一个C++构造函数的问题
一个节点类
template<class T>
class ListNode
{
private://引用public,避免了使用get,set所带来的麻烦
T data;
ListNode<T>*next;
public:
ListNode(ListNode<T>*nextnode=0,const T&val=T())
{
data=val;
next=nextnode;
}
};
不明白构造函数的两个变量后面等号怎么解释?
记得有含有默认参数的构造函数,例如complex(double r=0.0,double i=0.0),这里面的默认参数0.0我是能够理解的。
但上面类中的构造函数中一个指针量=0,一个T引用=T(),不知作何理解,求大牛不吝赐教

------解决方案--------------------
指针=0就是将指针赋值成NULL NULL==(void *)0;
+T();就是调用T的默认构造函数!~
------解决方案--------------------
汗 +T应该是=T这都能写差……
------解决方案--------------------
0一般代表了空指针,在windows平台下NULL就是为0.
&val=T()表示引用了一个T类型的对象,该对象是T的默认构造函数构造出来的。

------解决方案--------------------
4楼正解
------解决方案--------------------
4楼正解
------解决方案--------------------
探讨

0一般代表了空指针,在windows平台下NULL就是为0.
&amp;val=T()表示引用了一个T类型的对象,该对象是T的默认构造函数构造出来的。