类模板中可以使用三种友元声明: (1)普通非模板类或函数的友元声明。 (2)类模板或函数模板的友元声明,授予对所有实例类或函数的访问权。例如: template class demo { template friend class test; template friend void fun(); … }; (3)只授予某个模板的特定实例以访问权。例如: template class test; template class demo { friend class test; //只有test类模板的T实例才可访问demo类私有成员 friend void fun(); … }; 侵联删 原文传送门