类模板中的友元函数

2019-04-24  本文已影响0人  申申申申申

今天写cpp的时候,忘记了类模板中的友元怎么用了
记录一下

  1. 先声明类模板,和友元函数
template <class T> class Person2;
template <class T> ostream & operator<<(ostream &os, Person2<T> &p);
template <class T> void showPerson(Person2<T> &p);
  1. 类模板中声明友元函数
template <class T>
class Person2 {
private:
    T id;
    T age;
public:
    Person2(T age, T id);

    friend ostream & operator<<<T>(ostream &os, Person2<T> &p);
    friend void showPerson<T>(Person2<T> &p);
};
  1. 类模板外实现
template <class T>
Person2<T>::Person2(T age, T id) {
    this->age = age;
    this->id = id;
}

template <class T>
ostream & operator<<(ostream &os, Person2<T> &p) {
    cout << ">><<>><< -- " << p.id << " --- " << p.age << endl;
    return os;
}

template <class T>
void showPerson(Person2<T> &p) {

}

如上


不定期更新 不合适的地方 还请指点~ 感激不尽

上一篇 下一篇

猜你喜欢

热点阅读