重载运算符的作用域
问题:运算符的作用域问题以下是一个 测试代码,重载了<<, <输出打印Test类的时候, 编译器是根据什么规则去调用 重载的bool operator<<函数???Test中的<<只是个局部的重载, 为什么只是局部的重载?operator<< 尽管在类中实现,但是它所在的作用域和类Test没有关系额, 和一个普通的 函数fun的作用域一样啊??void fun(){cout<<"heloo"<<endl;}class Test{ int a; float b;public: Test(int i_a, float f_b):a(i_a),b(f_b){} friend bool operator<(Test const & obj1, Test const& obj2) { return obj1.a<obj2.a; } friend ostream& operator<<(ostream& o, Test const& obj) { o<<obj.a<<" "<<obj.b<<endl; return o; }};