當您將班級的成員功能變成朋友時,會發生什麼?!將會員功能設爲朋友
下面的代碼編譯並運行。如果沒有朋友聲明,會產生「運算符的參數過多」(並且正確)。我意識到這樣做沒有任何意義,但任何人都可以告訴我這裏發生了什麼?朋友是否強制編譯器以某種方式忽略默認的這個參數?
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