当类模板中有友元函数,且友元函数在类外实现,那么,程序编译时会出现:无法解析的外部符号的错误。
template<class T>
class Dad
{
public:
T Dproperty;
Dad(T property);
//友元函数
friend ostream& operator<<(ostream& os, Dad<T>& dad);
void commonfun();//普通函数
};
template<class T>
Dad<T>::Dad(T property)
{
Dproperty = property;
}
template<class T>
ostream& operator<<(ostream& os, Dad<T>& dad)
{
os << dad.Dproperty << endl;