如何将参数传递给正在使用模板的类

How to pass parameters to class that is using template

本文关键字:参数传递      更新时间:2023-10-16

我使用模板创建了类,并使构造函数需要参数。问题是,当我创建对象时,我不知道如何传递参数。我在网上查了一下,但找不到解决方案,所以我希望这里有人能帮我。我猜应该是这样的:

示例代码:

template<typename T>
class Example {
Example(typename T) {
std::cout<<"Passed"<<std::endl;
}
}

创建对象的示例:

Example<int> object(1);

阅读有关C++模板的信息。

首先,您的构造函数是private,因此它是不可访问的。你需要把它做成public。其次,在构造函数Example(T value) {...}中,T表示类型,而不是值。

这将完成以下工作:

template <typename T>
class Example {
public:
Example(T value) {
std::cout << "Passed " << value << std::endl;
}
};

现在,您可以通过执行Example<int> object(1);或让从constructro调用Example object(1);自动推导类型来创建对象。