C++:关于模板类的构造函数 20
template<typenameC>String<C>::String(){rep=newSrep(0,C());}template<typenameC>String<...
template<typename C> String<C>::String() {
rep=new Srep(0,C());
}
template<typename C> String<C>::String<C>() {
rep=new Srep(0,C());
}
第一种省略了第二种的<C>。
书上的解释是:在String<C>的作用域内部,用<C>作为给模板本身名字的限定词就多余了。
这句话是什么意思呢?求用另一句话阐述下 不知道作者再说什么 展开
rep=new Srep(0,C());
}
template<typename C> String<C>::String<C>() {
rep=new Srep(0,C());
}
第一种省略了第二种的<C>。
书上的解释是:在String<C>的作用域内部,用<C>作为给模板本身名字的限定词就多余了。
这句话是什么意思呢?求用另一句话阐述下 不知道作者再说什么 展开
1个回答
展开全部
String<C>:: 已经是一个作用域了 也就是说这 根据第一个String<C>已经可以确定是定义一个什么样的类 也就可以确定哪一个构造函数被调用了,所以第二个<C>可以省略,因为此时C的含义已经确定了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询