函数模板和类模板学习总结

本文总结了C++中的函数模板和类模板,详细介绍了它们的作用和使用方式。函数模板用于实现多态性,通过类型参数化实现函数重载,使得同一函数能处理不同数据类型。类模板则允许创建通用的类,定义时需要指定类型。内容涵盖模板的声明、调用方式、注意事项、模板的隐式与显式调用、函数模板与普通函数的调用优先级、以及模板的实现机制。此外,还讨论了类模板的成员函数实现、友元函数以及模板类的继承和派生等高级话题。
摘要由CSDN通过智能技术生成

封装:信息隐藏

继承:代码复用

多态:功能扩展

引用的本质是一个常指针,引用的内部实现是用指针实现

函数重载:形参个数不同,类型不同,顺序不同

用一个函数实现多个重载函数的功能:函数模板

函数的形参分为:数据类型 和 变量名  函数模板将数据类型当参数进行传递

解决的问题:将 数据类型 和算法 进行分离  专注于算法处理, 不需要关心处理的类型

函数模板:用 template 声明模板 <typename  类型名称1, typename  类型名称2>

模板声明只对当前函数有效,其他函数需要重新声明

例:template <typename T>       

void mySwap(T &a, T &b)

{

T tmp = a;

a = b;

b = tmp;

}

模板函数的调用:mySwap(a, b)  隐式调用,不指明类型, 让编译器自动推导

mySwap <int/char/double > (a, b)   显示调用

 

cout 是 ostream(类) 的变量, 是标准输出流的对象

 

函数模板的注意事项:

  1. 函数模板可以隐式调用,但不支持隐式的类型转换

int a = 10;

char c = 'A';

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值