C++friend class <T>是什么意思

来源:百度知道 编辑:UC知道 时间:2024/05/21 12:46:31
如上,在书上看到的
定义一个类模板
template <class T>
class ListNode
{
friend class List<T>;
public:
ListNode (T &t,ListNode<T>*p : data (p),nest(p))
{
}
protected:
T date;
ListNode *next;
};
那里定义
friend class List<T>是什么意思?在List后面加<T>
帮详细讲解一下
我知道template <class T>这里是通用的类型,但那里呢,这是在书上看到的,结果我编译时不能过

把模板类list<T>声明为友元类
在你的整个代码之前加上List的声明:
template <class T>
class List;

模板的语法,T表示一种具体的数据类型。如int,char。。。。也就是说适用于多种数据类型。

T是个模版类,是一个数据类型,你就把T当成int等等的原子数据类型来看待就可以了..

应该是声明模板类作为友元吧,T表示虚拟类型参数