我想为我的类 Complex 重载 << 运算符。
原型如下:
void Complex::operator << (ostream &out)
{
out << "The number is: (" << re <<", " << im <<")."<<endl;
}
它有效,但我必须这样称呼它:object << cout 用于标准输出。我该怎么做才能让它向后工作,比如 cout << object?
我知道'this'指针默认是发送给方法的第一个参数,所以这就是二进制运算符只能工作的原因 obj << ostream。我将它作为全局函数重载,没有问题。
有没有办法将 << 运算符重载为方法并将其称为 ostream << obj?