最近在编程过程中初次遇到了模板的概念,并且进一步接触到了类模板的继承。这里用实例简单介绍一下(教科书上的概念文字就不一一列出了)。
定义模板类如下:
template<class T, int dim>
class A{
public:
T a[dim];
}
定义模板类的派生类:
template<class T, int dim>
class B : public A<T, dim>{
public:
T b[dim];
}
就是这么简单!
这里给出在定义使用类模板过程中的几个注意事项:
1、类的定义前面使用关键词:template <class T>或多维类模板 template<class T, int dim>
2、函数的实现部分,在每个函数名的上一行也要加关键词template <class T,int dim>, 并且在函数名后面添加<T, dim>,例如
template<class T, int dim>
void LowThrust<T, dim>::BangBang(.....)
3、在main.cpp文件中要同时包含模板类的.h文件和.cpp文件。也正因为如此,定义模板类时,类的实现部分也一并放在hpp文件中了。