2012-11-07 120 views
0

我有函數體:任何類型的函數參數

cout<<value; 

我想就可能有一個名爲value使用可能於多種類型的參數傳遞到cout任何類型參數的功能。

解決此問題的最佳方法是什麼?

+0

所以你想'cout'可以與任何類型的工作 – Anirudha

回答

0

你幾乎不描述模板。

template<typename T> 
void Foo(const T &value) 
{ 
    std::cout << value; 
} 

相反,如果你問「我有一個類型T,我希望能夠與std::cout序列化」,您需要在類中重載operator <<

class MyType 
{ 
    int x; 

    friend std::ostream &operator <<(std::ostream &stream, const MyType &value) 
    { 
     return std::cout << value.x; 
    } 
};