随笔仅作学习记录,请辩证参考!!!
一般来说,能不用友元就不用友元。
友元函数并不是类的内部函数,因此写法颇有规则:
这里的必须写成是为了统一形式,并不是说少写了T,编译器一定不会识别。
例如,(1)中addA()中的两个引用是可以不写<T>的,又如(3)中addA<int> 这里不写<int>是可以的。
此外,如果类模板与友元函数用于重载运算符<< ,需要注意一点:
类中:
实现与上面规则一致。无论哪种声明都不用在实现的operator<<后面加<T>,调用时直接用<< 就可。
博客园 © 2004-2025 浙公网安备 33010602011771号 浙ICP备2021040463号-3