C++学习重难点(七)

在前几篇文章中,我们学完超重要的类与对象。今天趁热打铁我们来看一看c++中的模板吧,

定义函数模板后只是一个对函数功能框架的描述,当它具体执行时,将根据传递的实际参数决定其功能。

在 C++ 中,模板分为函数模板和类模板两种。

  • 函数模板是用于生成函数;
  • 例子:class可用typename替代
  • #include <iostream>
    using namespace std;
    template<class T>
    void Swap(T & x, T & y)
    {
        T tmp = x;
        x = y;
        y = tmp;
    }
    int main()
    {
        int n = 1, m = 2;
        Swap(n, m); 
        double f = 1.2, g = 2.3;
        Swap(f, g);  
        return 0;
    }
  • 例子二:#include <iostream>
    using namespace std;
    template <class T>
    T Inc(int n)
    {
        return 1 + n;
    }
    int main()
    {
        cout << Inc<double>(4) / 2;
        return 0;
    }
  • 例子三:

 类模板则是用于生成类的。

  • 类模板用于实现类所需数据的类型参数化

  • 类模板在表示如数组、表、图等数据结构显得特别重要,

  • 这些数据结构的表示和算法不受所包含的元素类型的影响

  • 例子:相当于向类中传入string和int两个类型

  • <class Nametype,class Agetype=int>,传参数是就不用传入int。这种用法只能在类模板中应用,不能在函数模板中应用 

  • 类模板中的成员函数刚开始是没有调用的,是要在主函数中明确T的类型才调用的。

  • 类模板对象做函数参数

  •  类模板与继承:如果父类是类模板,子类需要指定出父类中T的数据类型

  •  类模板成员类外实现

  •  类模板与友元
  •  

     

     好啦,关于模板的知识就讲到这啦2,这可能也是博主写c++基础语法系列的最后一篇文章了。

  • 本贴为博主亲手整理。如有错误,请评论区指出,一起进步。谢谢大家的浏览.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值