第七章 类模板与向量
**大家想一起学习交流的可以加群,QQ:755422568。**
一、类模板基础知识
(1)、类模板的成分及语法
1)、使用类模板格式及其实例
格式如下:
template <类模板参数> class 类名{ //类体 };
template <class T>
class TAnyTemp{
T x,y;
public:
TAnyTemp(T X,T Y) :x(X),y(Y){} //构造函数
T getx(){return x;} //内联成员函数,返回类型为T
T gety(){return y;} //内联成员函数,返回类型为T
};
(2)、类模板的对象
类模板也称为参数化类。
格式如下:
类名 <模板实例化参数类型> 对象名(构造函数参数列表);
类名 <模板实例化参数类型> 对象名;
在类体外面定义成员函数时,必须用template重写类模板声明。
格式如下:
template <模板参数>
返回类型 类名 <模板类型参数> :: 成员函数名(函数参数列表){ //函数体}
二、向量与泛型算法
(1)、定义向量列表
向量(vector)类模板定义在头文件vector中,提供4种构造函数。
vector <type> name; //定义type的向量空表
vector <type> name(length); //定义具有length个type的向量,元素初始化为0
vector <type> name(length,a); //定义具有length个type的向量,元素初始化为a
vector <type> name1(name); //使用已定义的向量name构造向量name1