【发布时间】:2015-08-04 10:52:43
【问题描述】:
你好,下面两个是等价的:
template<class T>
class name {
public:
name() {/*...*/}
name(name const &o) {/*...*/} // WITHOUT TEMPLATE ARGUMENT
/*...*/
};
template<class T>
class name {
public:
name() {/*...*/}
name(name<T> const &o) {/*...*/} // WITH TEMPLATE ARGUMENT SPECIFIED
/*...*/
};
所以我的问题是:我是否必须在复制构造函数中编写 classname with 或 without 模板参数列表?如果我不写模板参数是否意味着其他版本(具有不同的模板参数)可以传递给复制构造函数?
因此,如果我想通过模板参数从类 A 中实现这一点,例如:int,它的复制构造函数只接受 A使用 same 模板参数(在我们的示例中:int),我是否必须将模板参数()放在那里?
【问题讨论】:
标签: c++ templates methods constructor