模板是C++支持参数化多态的工具,使用模板可以使用户为类或者函数声明一种一般模式,使得类中的某些数据成员或者成员函数的参数、返回值取得任意类型。
模板是一种对类型进行参数化的工具;
通常有两种形式:函数模板和类模板;
- 函数模板针对仅参数类型不同的函数;
- 类模板针对仅数据成员和成员函数类型不同的类。
使用模板的目的就是能够让程序员编写与类型无关的代码。
注意:模板的声明或定义只能在全局,命名空间或类范围内进行。即不能在局部范围,函数内进行,比如不能在main函数中声明或定义一个模板。
#ifndef TEMPLATE_DEMO_HXX
#define TEMPLATE_DEMO_HXX
template<class T> class A{
public:
T g(T a,T b);
A();
};
#endif
#include<iostream.h>
#include "TemplateDemo.h"
template<class T> A<T>::A(){}
template<class T> T A<T>::g(T a,T b){
return a+b;
}
void main(){
A<int> a;
cout<<a.g(2,3.2)<<endl;
}