任何类型的函数参数

时间:2012-11-07 16:30:26

标签: visual-c++

我有功能体:

 cout<<value;

我想创建可以使用任何名为value的类型参数的函数,以便将多个类型参数传递给cout

解决此问题的最佳方法是什么?

1 个答案:

答案 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;
   }
};