模板类中友元函数的声明与定义

```cpp
//全部在Test.h这个头文件中
#ifndef TEST_H
#define TEST_H


template<typename T> class Test;								  //模板类的声明
template<typename T> bool operator==(Test<T>& t1,Test<T>& t2); //友元函数类外声明


template<typename T>
class Test
{

public:
    friend bool operaor==<T>(Test<T>& t1,Test<T>& t2);/*友元函数类中声明,在函数名后面加上<>,指明它是之前声明的函数模板 的实例*/
    // 其他省略
}

…………
template<typename T>
bool operator==(Test<T>& t1,Test<T>& t2)
{
    // 实现略
}

#endif

版权声明:本文为diligent_lee原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。