参数化
:::info template机制帮助我们将类定义中“与类型相关”和“独立于类型之外”的两部分分离开来
- 在一个模板类中,于类型相关的部分会被抽取出来,形成一个或者多个参数
:::
template <typename valType> //参数化class BTnode{public:private:valType _val;int _cnt;BTnode* _lchild;BTnode* _rchild;};
class template 的定义
为模板类定义一个inline函数,在类内的定义和非模板类中的情况相同,但是在类外定义却有所区别
:::info class scope运算符中BinaryTree需要对模板类型加以限定;之后就被认为处在class范围内,因此定义时不需要对后面的BinaryTree()加限定 :::template <typename elemType>inline BinaryTree<elemType>::BinaryTree():_root(0){}
