2016-03-01 64 views
-3

一切我可以找到关于谷歌与添加流的兼容性,您的类优惠,让您可以去定义流运算符的另一个版本是什么?

std::cout << myClassInstance; 

但我不感兴趣,我想要做的就是

myClassInstance << "stuff here"; 

这个操作叫做什么?

+0

那么,取决于它的功能。您可以执行任何操作,例如乘法,如果你想用这种语法。 –

+0

它需要通过<<像任何其他流一样的东西,然后我做所说的东西的东西,大概在函数 – user81993

+0

那是什么*“东西”*? –

回答

1

超载运营商<<?这在技术上是一个位移运算符,但它可能更经常用作流运算符。

不是说它有任何意义恕我直言。我猜它看起来不错,但我认为函数调用操作符会更合乎逻辑。

template <typename T> 
MyClassType& MyClassType::operator<<(const T& rhs) 
{ 
    do_something_vague_and_unclear_because_there_is_no_MCVE(rhs); 
    return *this; 
} 

你最有可能使用不同的重载特定参数类型,而不是一个模板函数。

MyClassType& MyClassType::operator<<(const std::string& str) 
{ 
    //... 
} 

MyClassType myClassInstance; 
myClassInstance << "Hello, world!";