C++模板笔记

模板:实现代码重用机制


         图1 模板、模板类、模板函数和对象之间的关系

一、函数模板:建立通用函数,函数返回类型和形参不具体指定,
         用模板实参实例化的函数称为模板函数。  
template <typename T>   //T为类型参数
T max(T x,T y){
         return(x>y)?x:y;
};
非函数模板重载>函数模板重载


二、类模板
template <template 类型参数>
class  类名{
     类成员声明
};
类模板定义对象:

      类模板名 <实际类型名> 对象(实参列表)

举例:

#include <iuostream>
using namespace std;
template<typename T>
class Three{
   public:
   Three{T a, T b,T c)
   {z=a;y=b;z=c};
   T sum()
   {return x+y+z;};
   private:
   T x,y,z;
};
int main(){
        Three <int> sum3_1(3,5,7);
Three <double> sum3_2(12.34,56.78,78.12);
cout<<"三个整数之和为:"<<sum3_1.sum()<<endl;
cout<<"三个双精度之和为: "<<sum3_2.sum()<<end;
return 0;
}
 
类模板体外定义的成员函数:
       template<typename T> 
  T Three<T>::sum()
  {return x+y+z;
  }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值