您的位置:首页 > 编程语言 > C语言/C++

C++中的泛型程序设计---函数模板

2012-08-15 09:58 183 查看
模板是C++中功能最为强大的软复用的一种方式,通过函数模板和类模板,我们只需要写一段特定的模板代码,即可以实现不同类型相应功能函数或类的一整套实现。不需要针对不同类型编写多个函数重载(这里就极大的减少了相应代码的编写)。当编译器遇到处理不同的类型时,会调用相应的函数模板来特化自动相应类型的目标代码(也就是说编译器帮我们完成了不同类型的函数重载编写工作).

函数模板的定义:

所有函数模板的定义都由关键字 template开始,后面跟着<typename T>模板形参列表。模板型参列表中则是具体的模板型参(T)。T就代表了所有基本类型和自定义类型。模板型参T之前一定要加上相应的关键字typename或class来指出相应的模板型参。

例:模板函数测试

#include <iostream>

#include <iomanip>//设置相应的流格式

using namespace std;


template <typename T>

void print(const T * const ptr,int count){//接收二个常量

for(int i = 0; i < count; i++ )

cout<<"ptr["<<i<<"]="<<ptr[i]<<" ";;//打印相应的数组元素

cout<<endl;//换行

}


int main(){

const int acount = 5;

const int bcount = 6;

const int ccount = 6;


int a[acount] = {1,2,3,4,5};

double b[bcount] = {1.1,2.2,3.3,4.4,5.5,6.6};

char c[ccount] = "hello";//初始化相应的字符数组

cout<<"first:"<<endl;

print(a,acount);

cout<<endl;

cout<<"second :"<<endl;

print(b,bcount);

cout<<endl;

cout<<"third :"<<endl;

print(c,ccount);

}


转自我的个人技术网站

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: