189 8069 5689

漫谈C++函数重载

C++函数是C++ 语言程序的主要组成部分,一个函数可以调用其他函数。在设计良好的程序中,每个函数都有特定的目的,下文着重介绍C++函数如何解决继承、重载的问题,保证其容真实反应实际的函数。

成都创新互联公司专业为企业提供当阳网站建设、当阳做网站、当阳网站设计、当阳网站制作等企业网站建设、网页设计与制作、当阳企业网站模板建站服务,10余年当阳做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

另一个实现是求两个浮点型数之和,再一个实现是求两个复数的和。每种实现对应着一个函数体,这些函数的名字相同,但是函数的参数的类型不同。这就是函数重载的概念。C++函数重载在类和对象的应用尤其重要。

函数重载要求编译器能够***地确定调用一个函数时应执行哪个函数代码,即采用哪个函数实现。确定函数实现时,要求从函数参数的个数和类型上来区分。这就是说,进行函数重载时,要求同名函数在参数个数上不同,或者参数类型上不同。否则,将无法实现重载。

参数类型上不同的重载函数下面举一个在参数类型不同的重载函数的例子:

 
 
 
  1. #include  
  2.    int add(int, int);  
  3.    double add(double, double);  
  4.  
  5.    void main()  
  6.    {  
  7.        cout<(5, 10)<;  
  8.        cout<(5.0, 10.5)endl;  
  9.    }  
  10.  
  11.    int add(int x, int y)  
  12.    {  
  13.        return x+y;  
  14.    }  
  15.  
  16.    double add(double a, double b)  
  17.    {  
  18.        return a+b;  
  19.    } 

该程序中,C++函数中调用相同名字add的两个函数,前边一个add()函数对应的是两个int型数求和的函数实现,而后边一个add()函数对应的是两个double型数求和的函数实现。这便是函数的重载。下面举一个在参数个数上不相同的重载函数的例子:

 
 
 
  1. #include  
  2.   int min(int a, int b);  
  3.   int min(int a, int b, int c);  
  4.   int min(int a, int b, int c, int d);  
  5.  
  6.   void main()  
  7.   {  
  8.       cout<(13, 5, 4, 9)<;  
  9.       cout<(-2, 8, 0)<;  
  10.   }  
  11.  
  12.   int min(int a, int b)  
  13.   {  
  14.       return a?a:b;  
  15.   }  
  16.  
  17.   int min(int a, int b, int c)  
  18.   {  
  19.       int t = min(a, b);  
  20.       return min(t,c);  
  21.   }  
  22.  
  23.   int min(int a, int b, int c, int d)  
  24.   {  
  25.       int t1 = min(a, b);  
  26.       int t2 = min(c, d);  
  27.       return min(t1, t2);  
  28.   } 

该程序中出现了函数重载,C++函数名min对应有三个不同的实现,函数的区分依据参数个数不同,这里的三个函数实现中,参数个数分别为2,3和4,在调用函数时根据实参的个数来选取不同的函数实现。

函数重载在类和对象应用比较多,尤其是在类的多态性中。在以后我们将碰到更多的在类型不同的函数重载,尤其是在结合类的继承性和指针类型的不同,而这些都是我们以后用VC编程中经常要用到的。


当前文章:漫谈C++函数重载
URL地址:http://cdxtjz.cn/article/cocgeic.html

联系我们

您好HELLO!
感谢您来到成都网站建设公司,若您有合作意向,请您为我们留言或使用以下方式联系我们, 我们将尽快给你回复,并为您提供真诚的设计服务,谢谢。
  • 电话:028- 86922220 18980695689
  • 商务合作邮箱:631063699@qq.com
  • 合作QQ: 532337155
  • 成都网站设计地址:成都市青羊区锣锅巷31号五金站写字楼6楼

小谭建站工作室

成都小谭网站建设公司拥有多年以上互联网从业经验的团队,始终保持务实的风格,以"帮助客户成功"为已任,专注于提供对客户有价值的服务。 我们已为众企业及上市公司提供专业的网站建设服务。我们不只是一家网站建设的网络公司;我们对营销、技术、管理都有自己独特见解,小谭建站采取“创意+综合+营销”一体化的方式为您提供更专业的服务!

小谭观点

相对传统的成都网站建设公司而言,小谭是互联网中的网站品牌策划,我们精于企业品牌与互联网相结合的整体战略服务。
我们始终认为,网站必须注入企业基因,真正使网站成为企业vi的一部分,让整个网站品牌策划体系变的深入而持久。