C++关于类的模板的解读
Set(T st):t(st){}这个构造函数应该怎么理解…
尤其是 :后面的这个部分是什么意思。。。
委托构造:使用st初始化t Croper 发表于 2019-3-23 14:34
委托构造:使用st初始化t
大佬可以详细讲一下吗…{:10_269:} 委托构造函数的形式
class A{
A():Foo(){
//code
}
}
表示执行构造函数A()之前会先调用Foo(),再执行函数体里的内容
你的例子里执行t(st)就是使用st将t初始化 本帖最后由 RIXO 于 2019-3-26 18:21 编辑
这个就是个类模板,类模板里面有一个其他类的成员对象(因为不确定是什么类所以用T代替)对象名为 t,在构造函数里面主动调用T 类的构造函数构造t 这个对象。
他就举了两个例子,一个是使用友元函数的运算符重载来实现用 cout 输出年月日,这个是模板特化的时候干的 ,其实他模板特化也就只多了一个“Date:”,有点炫技的感觉,
还有一个就是用int类型实现的利用模板,那就是在构造函数里面初始化了这个整形变量 t ,然后输出t的值
PS:在VS2017里面模板特化需要在Set<Date>前面加template<>
页:
[1]