模板的继承
模板的继承
下面有关函数模板和类模板的说法正确的有?
A. 函数模板的实例化是由编译程序在处理函数调用时自动完成的
B. 类模板的实例化必须由程序员在程序中显式地指定
C. 函数模板的模板参数仅针对参数类型
D. 类模板的模板参数仅针对数据成员和成员函数类型
C: 函数模版还可以将
函数返回值类型
作为模版参数。D: 类模板还可以针对
继承的基类类型
作为模板参数
类模板和类模板之间、类模板和类之间可以互相继承。它们之间的派生关系有以下四种情况:
- 类模板继承类模板
- 类模板继承模板类
- 类模板继承普通类
- 普通类继承模板类
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 //==============================================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 许可协议。转载请注明来自 极简!
评论