C++模版的用法
2024-10-02 04:16:45
模板是实现代码重用机制的一种工具,实质就是实现类型参数化,即把类型定义为参数。
C++提供两种模板:函数模板,类模板
函数模板
template <typename T> T myMax(T a, T b) {
return a>b?a:b;
}
调用
//函数
char max1 = myMax<char>('a','b');
cout<<"myMax:"<<max1<<endl;
类模板
template <class T>
class MyMax
{
private:
T a;
T b;
public:
MyMax();
MyMax(T x1,T x2)
{
a=x1;
b=x2;
}
T myMaxFuc()
{
return a>b?a:b;
}
};
调用
//定义对象
MyMax<int> max2(1,2);
cout<<"MyMax:"<<max2.myMaxFuc()<<endl;
可以定义多模板的参数
可以定义多种类型的形参。
template<typename T1, typename T2>
class CTest
{
...
};
对象实例化时:
CTest testA<int, float>;
CTest testB<double, string>
参考链接:
最新文章
- arcgis for flex全国地图天气预报的具体实现过程解析
- div的一些易出错地方
- Elasticsearch 连接查询
- 核心动画基础动画(CABasicAnimation)关键帧动画
- IOS 视频分解图片、图片合成视频
- 1066: [SCOI2007]蜥蜴 - BZOJ
- Spring 使用注解方式进行事务管理
- TableView不显示没内容的Cell怎么办?
- 移动端Web页面问题
- AFNetWorking网络请求
- TCP和UDP的";保护消息边界"; (经典)
- 201521123055 《Java程序设计》第14周学习总结
- Linux下转换文件从GBK到UTF-8
- RTC子系统
- 网络爬虫构造出URL的列表数据
- 创建一个yum源,rpm安装二进制包
- kafka7 探索生产者同步or异步发送消息
- JQuery Easyui引入easyui-lang-zh_CN.js后出现乱码的问题解决方法
- oracle中实现自增id
- ArcGIS案例学习笔记-CAD数据自动拓扑检查