我有功能体:
cout<<value;
我想创建可以使用任何名为value
的类型参数的函数,以便将多个类型参数传递给cout
。
解决此问题的最佳方法是什么?
答案 0 :(得分: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;
}
};