C++模板

C++模板包括函数模块和类模板。其作用就是为了代码的重用,让函数或类可以适用于不同类型的对象,即达到参数化多态性。

1.函数模板

定义形式:

template<class  T> 或者template<typenamec  T>

类型名 函数名(参数表)

{ 函数体 }

它的实例化是直接根据实参类型进行推导,推导出相应的类型后,编译器将以函数模板为样板生成新的函数,然后再编译该新函数。

2.类模板

定义类型:

template<class T>或者template<typename T>

class A

{

};

在模板外声明成员函数

类型名 类名<T>:: 函数名(参数){}

实例化:

模板<模板参数表> 对象名1,对象名2,。。。;

#include<iostream>
using namespace std;

template<typename T>
class A
{
      private:
             T x;
             T y;
      public:
             A(T a, T b);
             T f();
};
template<typename T>
A<T>::A(T a, T b)
{
          x = a;
          y = b;
}
template<typename T>
T A<T>::f()
{
    return x + y;
}

int main()
{
    A<int> a(1, 5);
    A<double> b(1.2, 8.1);
    cout << "对象a为" << a.f() << endl;
    cout << "对象b为" << b.f() << endl;
    system("pause");
    return 0;
}


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值