2016-03-01 62 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!";