模板的继承
模板的继承
下面有关函数模板和类模板的说法正确的有?
A. 函数模板的实例化是由编译程序在处理函数调用时自动完成的
B. 类模板的实例化必须由程序员在程序中显式地指定
C. 函数模板的模板参数仅针对参数类型
D. 类模板的模板参数仅针对数据成员和成员函数类型
C: 函数模版还可以将
函数返回值类型
作为模版参数。D: 类模板还可以针对
继承的基类类型
作为模板参数
类模板和类模板之间、类模板和类之间可以互相继承。它们之间的派生关系有以下四种情况:
- 类模板继承类模板
- 类模板继承模板类
- 类模板继承普通类
- 普通类继承模板类
//==============================================1、类模板继承类模板 template <typename T1, typename T2> class A { T1 x; T2 y; }; template <typename T1, typename T2> class B : public A<T2, T1> { T1 x1; T2 y2; }; template <typename T1,T2, T3> class C : public B<T1, T3> { T2 x3; }; //==============================================2、类模板继承模板类 template <typename T> class D : public A<int, double> //具体化的模板类 { T x4; }; //==============================================3、类模板继承普通类 class E { int x4; }; template <typename T> class F : public E { T X5; }; //==============================================4、普通类继承模板类 class H : public F<int> { int h; };
版权声明:
本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自
后端技术分享!
喜欢就支持一下吧