模板
模板定义:模板就是实现代码重用机制的一种工具,它可以实现类型参数化,即把类型定义为参数, 从而实现了真正的代码可重用性。模版可以分为两类,一个是函数模版,另外一个是类模版。
函数模板
函数模板的一般形式如下:
Template <class或者也可以用typename T>
返回类型 函数名(形参表)
{//函数定义体 }
说明: template是一个声明模板的关键字,表示声明一个模板关键字class不能省略,如果类型形参多余一个 ,每个形参前都要加class <类型 形参表>可以包含基本数据类型可以包含类类型.
类模板
定义一个类模板:
Template < class或者也可以用typename T >
class类名{
//类定义......
};
说明:其中,template是声明各模板的关键字,表示声明一个模板,模板参数可以是一个,也可以是多个。
一篇很好的博客
- 特殊的成员函数对类成员的访问是存在限制的,例如: static成员函数只能访问static数据成员。
- 类的设计者通过把成员函数声明为const 以表明它们不修改类对象。
- 只有被声明为const 的成员函数才能被一个const 类对象调用
- 用到mutable(可变的),这样即使是声明的是一个const对象,而数据成员也不是const类型。