一、模板的基本概念
c++除了面向对象的编程思想之外,还有泛型编程,主要技术是模板。
c++提供两种模板机制:函数模板,类模板。
函数模板:建立一个通用函数,其函数返回值和形参类型可以不具体定制,同一个虚拟的类型来代表。(模板必须声明在函数上方,且一个模板只对应一个函数)
语法:
template <typename T> //函数声明或定义 //template--声明创建模板 //typename--声明后面的符号是一种数据类型,可以用class代替 //T--通用的数据类型,名称可替换
二、模板实例
#include <iostream> using namespace std; template <typename T> //声明一个排序模板 void mysort(T arr[], int len) { int i, j; T temp; for (i = 0; i < len - 1; i++) for (j = 0; j < len - 1 - i; j++) if (arr[j] > arr[j + 1]) { temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } template <typename T> //声明一个打印模板 void print(T arr[],int len){ int i; for(i=0;i<len;i++) cout<<arr[i]<<" "; cout<<endl; } void test01(){ //测试int数组 int a[5]={2,3,5,1,4}; print(a,5); mysort(a,5); print(a,5); } void test02(){ //测试char数组 char a[]="bbsajasd"; int len=sizeof(a)/sizeof(char)-1; print(a,len); mysort(a,len); print(a,len); } int main() { test01(); test02(); return 0; }
【运行结果】
标签:arr,函数,int,c++,len,template,模板 From: https://www.cnblogs.com/yihong-song/p/16908748.html