c++中友元的一些总结(2)

发布时间:2019-02-04 19:00:53

2,模板函数作友元
先给一个模板函数,它是一个模板,并不是一个函数:
1
2
template
void foo1(T);
在定义foo1为某类的友元时,或者要实例化模板参数T,或者给出可演绎的申明式,而且就算是可以演绎的,一对尖括号也不能省。如:
class A
{
public:
friend void foo1(char);
friend void foo1<>(double);
};
或者给出限制符:::
class A
{
public:
friend void ::foo1(char);
};
当然,如果有一般函数具有这种形式,那会优先于模板函数匹配。最后这里的申明式都不能是定义式,必须前至申明(定义)。
阅读更多其他试题,请访问生活日记网 用日志记录点滴生活!考试试题频道。
喜欢考试试题,那就经常来哦

该内容由生活日记网提供.