技术人员讲述C 代码编辑及技巧说明
创始人
2024-06-20 12:51:38
0

C++代码更多地靠第三方的库来实现这些功能,因为C++是一个国际标准,要在C++中加入这些语言之外的、面向应用的特性还需要很长一段路要走,希望本文能教会你更多东西。。

我们已经学过重载,对重载函数而言,C++的检查机制能通过函数参数的不同及所属类的不同,正确的调用重载函数。
例如,为求两个数的***值,我们定义max()函数需要对不同的数据类型分别定义不同重载版本。

  1. int max(int x,int y);  
  2. {  
  3.      return(x>y)?x:y ;  
  4. }  
  5.  
  6. float max( float x,float y)  
  7. {  
  8.      return (x>y)? x:y ;  
  9. }  
  10.  
  11. double max(double x,double y)  
  12. {  
  13.     return (c>y)? x:y ;  

现在,我们再重新审视上述的max()函数,它们都具有同样的功能,即求两个数的***值,能否只写一套代码解决这个问题呢?这样就会避免因重载函数定义不全面而带来的调用错误。

为解决上述问题C++代码引入模板机制,模板定义:模板就是实现代码重用机制的一种工具,它可以实现类型参数化,即把类型定义为参数,从而实现了真正的代码可重用性。

模板分类:模板分为函数模板和模板函数,当编译系统发现了一个对应的函数调用时,将根据实参的类型来确认是否匹配函数模板中对应的形参然后生成一个重载函数,称该重载函数为模板函数。

函数模板与模板函数的区别: 二者区别可以类比 类与对象的区别。函数模板与类相似是模板的定义,而模板函数与对象相似,是函数模板的实例,具有程序代码,占用内存空间。#t#

同样,在说明了一个类模板后,也可以创建类模板的实例即生成模板类。类模板与模板类的区别是:类模板是模板的定义,不是一个实在的类,模板类才是实实在在的类。

程序分析:main()函数中定义了两个整型变量n1 , n2 两个双精度类型变量d1 , d2然后调用min( n1, n2); 即实例化函数模板T min(T x, T y)其中T为int型,求出n1,n2中的最小值.同理调用min(d1,d2)时,求出d1,d2中的最小值。

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...