【发布时间】:2013-06-15 22:01:54
【问题描述】:
我有这个通用类:
template<class T>
class wwe{
public:
T data;
friend class Iterator;
explicit wwe(T& data) : data(data){}
//1- wwe<T>& getwwe();
//2- wwe& getwwe();
}
Q1:我应该使用哪一个 .. 1-2 ?
Q2:data(data) 是做什么的?
Q3:如果我没有在 wwe 类中定义整个 'Iterator' 类,我应该如何定义它.. 如果可能的话?
谢谢
【问题讨论】:
-
Q1:使用 (2)。它等价于 (1),但不允许您错误地键入错误的模板参数。其他两个问题不够清楚,我无法回答。
-
你能告诉我我怎么会错误地输入错误的模板参数吗?
-
@Rawhi,
wwe<int>& getwwe();说真的,如果您添加另一个稍后默认的模板参数,您必须返回并更改它,否则您将始终使用默认值。 -
为什么要在一个只包含 1 个元素的类中包含一个迭代器类?
-
data(data)正在为T data变量调用构造函数
标签: c++ class templates constructor