通过建立一个通用函数,其类型与形参不具体指定,用虚拟类型表示,这个函数就是函数模板
template<类型形式参数表typename>
类型 函数名<形式参数表>
{
语句块
}在需要类型转换时,需要显示调用
test
('a',65);
类模板函数模板实现机制:
二次编译/延迟编译:第一次编译时看到函数模板定义,只做语法检错不检查数据类型的错误,第二次当实例化对象时,看到函数模板根据传递参数再检查数据类型错误。
概念:
类模板中定义的函数参数类型或者属性等数据类型可以参数化。
类模板的继承template
class A
{
public:
T a;
}
调用时必须显示调用
A
a;
模板中是static普通函数继承:
继承的同时对基类实例化Class Child:public Parent
模板类派生模板类:
继承的同时不需要对parent实例化。
成员模板模板类会根据具体类型生成各种各样的类,每一个类所实例化的对象都共享这个静态变量。
累了。。。



