- 重载左移操作符
#include <QDebug>
#include <iostream>
using namespace std;
template<class T>
class ClassTemplate2
{
public:
ClassTemplate2(T name, T age);
void Show();
//重载左移操作符
template<class T>
friend ostream& operator<<(ostream& os, ClassTemplate2<T>&p);
private:
T m_name;
T m_age;
};
- 实现左移操作符
template<class T>
ostream& operator<<(ostream& os, ClassTemplate2<T>&p)
{
os << "name = " << p.m_name << ", age = " << p.m_age;
return os;
}
- 调用左移操作符
ClassTemplate2<int> ct(10,20);
cout << ct;
-
测试结果
-
注意事项
在linux 系统下,声明需要修改为
friend ostream& operator<<<T>(ostream& os, ClassTemplate2<T>&p);