所以,假设我有以下课程:
namespace Example
{
class Bar {};
}
现在,如果我想重载类Bar
的运算符,我应该这样做:
namespace Example
{
class Bar {};
ostream& operator<<(ostream& os, const Bar& b)
{/*..........*/}
}
或者我应该这样做:
namespace Example
{
class Bar {};
}
ostream& operator<<(ostream& os, const Example::Bar& b)
{/*..........*/}
如果我应该做上述任何一项,请发布解释为什么应该这样做。
P.S。 /*.....*/
仅表示函数体(为简单起见而省略)
答案 0 :(得分:-2)
#include<iostream>
using namespace std;
namespace Example
{
class Bar
{//........
friend ostream& operator<<(ostream& os, const Bar& b);
};
}
ostream& operator<<(ostream& os, const Example::Bar& b)
{//..........
}
int main() {
Example :: Bar b;
// out<<b; I am not sure About this
return 0;
}
希望这次我做得很好