模版内还有模版,一般用于构造函数中,
- 把草鱼和麻雀用于对鱼类和鸟类的初始化(作为构造函数传入)
- 这里的T1 first 能成功,是因为first是草鱼,是继承了鱼这个类的,也叫up-cast
// for smart pointer
template<class _Tp>
class shared_pte:public _shared_ptr<_Tp>{
...
template<class _Tp1>
explicit shared_ptr(const _Tp1* _p):_shared_ptr<_Tp>(_p){}
}
shared_ptr<Base1>sptr(new Derived1);
- 为了让构造函数更有弹性