当您将班级的成员功能变成朋友时,会发生什么?!将会员功能设为朋友
下面的代码编译并运行。如果没有朋友声明,会产生“运算符的参数过多”(并且正确)。我意识到这样做没有任何意义,但任何人都可以告诉我这里发生了什么?朋友是否强制编译器以某种方式忽略默认的这个参数?
class Test
{
public:
friend bool operator<(Test& lhs, Test& rhs)
{
return true;
}
};
int main(int c, char** argv)
{
Test test1;
Test test2;
return test1 < test2;
}
要回答你的问题:朋友不能成为C++ 03中的友谊类的成员,但这是允许在C++ 0x。 – 2010-12-06 05:07:44