如何创建一个接受任何基本类型的构造函数并转换为c ++中的int?

use*_*044 0 c++ int primitive constructor

我正在制作一个程序,我需要声明一个构造函数,它可以接受各种原始类型,如doubleor float,并将其转换为int.

我的程序只使用int,所以我需要在构造函数中接受任何原始数据类型并将其转换为int.

jua*_*nza 5

您可以使用模板构造函数:

struct Foo
{
  template <typename T>
  explicit Foo(const T& x) :i(x) {}
 private:
  int i;
};
Run Code Online (Sandbox Code Playgroud)

  • @aaronman我打算添加一些内容,然后我认为不清楚这个限制是否真的需要OP.所以我把它留在了"可以构造`int`的任何地方. (2认同)