C++中模板Template的使用

嵌入式技术

1337人已加入

描述

 

template --声明创建模板I
typename -- 表面其后面的符号是一种数据类型,可以用class代替
T --- 通用的数据类型,名称可以替换,通常为大写字母

使用模板之前:

  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
#includeusing namespace std;#include#include  //两个整型交换函数void swapInt(int &a, int &b) {  int temp = a;  a = b;  b = temp;} //交换两个浮点型函数void swapDouble(double &a,double &b) {  double temp = a;  a = b;  b = temp;}  //函数模板template<typename T> //声明 二 = 个模板,告诉编译器后面代码中紧跟着的T不要报错,T是 - 一个通用数据类型二//函数模板void mySwap(T &a, T &b) {  T temp = a;   a = b;  b = temp;}   void test01() {  int a = 10;  int b = 20;   swapInt(a,b);       cout << " a =" << a << endl;  cout << " b="  << b <<endl;   double c = 1.1;  double d = 2.2;  swapDouble(c,d);  cout << " c=" << c <<endl;  cout << " d=" << d <<endl;}  int main() {  test01();   system("pause");  return 0; }

使用模板之后: 

  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
#includeusing namespace std;#include#include  //两个整型交换函数void swapInt(int &a, int &b) {  int temp = a;  a = b;  b = temp;} //交换两个浮点型函数void swapDouble(double &a,double &b) {  double temp = a;  a = b;  b = temp;}  //函数模板template<typename T> //声明 二 = 个模板,告诉编译器后面代码中紧跟着的T不要报错,T是 - 一个通用数据类型二//函数模板void mySwap(T &a, T &b) {  T temp = a;   a = b;  b = temp;}   void test01() {  int a = 10;  int b = 20;   //swapInt(a,b);   //利用函数模板交换  //两种方式使用函数模板  //1、自动类型推导  //mySwap(a,b);  //2、显示指定类型.  mySwap<int>(a,b);       cout << " a =" << a << endl;  cout << " b="  << b <<endl;   double c = 1.1;  double d = 2.2;  swapDouble(c,d);  cout << " c=" << c <<endl;  cout << " d=" << d <<endl;}  int main() {  test01();   system("pause");  return 0; }

函数

 


	

	
  审核编辑:汤梓红
 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分