C++泛型编程-举例
2024-10-04 07:32:51
就是C++里面说的函数模板和类模板,我们以前写C语言的时候,不同的类型参数,可能要写不同的函数。
C++的模板出现之后,就可以实现函数模板,函数模板可以接纳不同的类型,然后这些类型都可以调用同一个函数,而且不会出错。
泛型不属于面向对象,它是面向对象的补充和发展
泛型,也就是任何类型,也就是不依赖于具体的数据类型
通常,我们的操作都是都是依赖于具体的数据类型的。如
#include <stdio.h>
int add(int a,int b)//此函数只能求两个整数的和,返回值是整数 ,不能利用此函数求浮点的和,必须另写一个函数来完成求浮点数的和
{
return a+b;
}
int main()
{
int he;
he=add(3,4);
he=add(5.6,4.7);//指定浮点数计算时仍根据函数的要求转换为整数再计算
printf("%d",he);
}
结果如下:
下面的代码得保存为.cpp才可以正常编译,如果保存为.c不能正常编译
下面的代码定义的mmax函数,可以求int float double char类型的比较结果
#include <stdio.h>
template <typename T>
T mmax(T a,T b)
{
return a>b?a:b;
}
int main()
{
int res=mmax(1,2);
double re=mmax(1.4,5.1);
float rea=mmax(4.4,-35.1);
//string stra=mmax("hello","world!");
//printf("%x\n",&stra);
printf("%d\n",res);
printf("%f\n",re);
printf("%lf\n",re);
printf("%f\n",rea);
printf("%lf\n",rea);
printf("%d\n","hello">"world");
printf("%s",mmax("hello","world!"));
//printf("%s",stra);
}
结果如下:
最新文章
- centos6和centos7防火墙的关闭
- 引用参数,值参数,ref,out
- python项目练习3:万能的XML
- 14.quartus联合modelsim仿真
- hdu 4815 Little Tiger vs. Deep Monkey(01背包)
- selenium+python find_element_by_css_selector方法使用
- MyEclipse右键new菜单项的设置 及 Eclipse中各种文件不能保存中文的问题
- MVC自学第四课
- HEVC与VP9编码效率对比
- Windows下根据端口号查找进程并关闭
- oracle 创建表空间TABLESPACE
- 《Effective&#160;Java中文版(第2版).pdf》-笔记
- ZOJ 4060 - Flippy Sequence - [思维题][2018 ACM-ICPC Asia Qingdao Regional Problem C]
- 用juniversalchardet解决爬虫乱码问题
- 带你从零学ReactNative开发跨平台App开发(一)
- Shader开发工具: PVRShaman
- JS创建类的方法--简单易懂有实例
- 基于NIO的同步非阻塞编程完整案例,客户端发送请求,服务端获取数据并返回给客户端数据,客户端获取返回数据
- CentOS 6.0 VNC远程桌面配置方法(转帖)
- 在PHP中使用加密技术