0
void operator<< (const Integer& left, const Integer& right)
{
cout << "\n: " << right.i;
}
可以像访问如何使操作符的左操作数<<一个函数?</p> <pre><code>Integer obj; obj << 5 << 3 << 2; </code></pre> <p>精细:
但qDebug
作品像qdebug() << 2;
这意味着<<
运算符的左操作数是函数。
什么应该是一个用户自定义函数的语法,这样我可以这样写:
myfunc() << 2;
它不是调用的* functions'* <<运算符,而是来自返回对象的*运算符。 – codeling 2012-01-02 11:36:33
事实上,你的代码将无法编译;为了能够将调用链接到'operator <<',它必须返回一个可以用作第一个参数的值。通常,您只需返回对第一个参数的引用。 – Gorpik 2012-01-02 11:43:13