C++学习之---自定义模板

本文详细探讨了C++中的模板机制,包括函数模板和类模板的使用,以及模板元编程的基本概念。通过实例解析,帮助读者掌握自定义模板的创建和应用,提升C++编程能力。
1. 函数模板的定义:
             template<typename  形参1,typename 形参2,.....>
            (返回类型)    (函数名)
            {
                函数体
        
            }

模板函数常常可以解决我们代码冗余的情况,比如如果我们要实现若干数字排序,又要实现对字符串进行排序等等,一般我们都要为每种类型排序都写一个排序函数,但模板函数就可以实现一个函数就能达到要求。

参考程序:


 
 #include<iostream>
using namespace std;
template<typename T>
void sort(T a[],int n)
{
 for(int i=0;i<n-1;i++)
 {
  for(int j=n-1;j>i;j--)
  {
   if(a[j]<a[j-1])
   {
    T temp=a[j];
    a[j]=a[j-1];
    a[j-1]=temp;
   }
  }
 }
}

template<typename T>
void show(T a[],int n)
{
 for(int i=0;i<n;i++)
 {
  cout<<a[i]<<" ";
 }
 cout<<endl;
 }
 
 
 int main()
 {
  int a[]={100,2,76,98,33,77,55,22,88,99};
  char c[]="comeonbaby";
  float f[]={11.11,2.2,777.77,8888.88,555.55,66.66,999.99,4444.44};
  string s[]={"There","are","four","data","register","in","the","IC"};
  
  sort(a,sizeof(a)/sizeof(a[0]));
  sort(c,sizeof(c)/sizeof(c[0])-1);
  sort(f,sizeof(f)/sizeof(f[0]));
  sort(s,sizeof(s)/sizeof(s[0]));
  
  show(a,sizeof(a)/sizeof(a[0]));
  show(c,sizeof(c)/sizeof(c[0])-1);
  show(f,sizeof(f)/sizeof(f[0]));
  show(s,sizeof(s)/sizeof(s[0]));
  return 0;
 }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值