如何对C++进行函数重载

下面对C++ 函数重载进行学习探讨,C++ 函数重载:是指同一个函数名可以对应着多个函数的实现,如果要对编译器进行函数重载时话,那么就要使用extern "C"来说明。

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

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

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

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

该程序中,main()函数中调用相同名字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. void main()
  6. {
  7. cout< cout< }
  8. int min(int a, int b)
  9. {
  10. return a }
  11. int min(int a, int b, int c)
  12. {
  13. int t = min(a, b);
  14. return min(t,c);
  15. }
  16. int min(int a, int b, int c, int d)
  17. {
  18. int t1 = min(a, b);
  19. int t2 = min(c, d);
  20. return min(t1, t2);
  21. }

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

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

分享名称:如何对C++进行函数重载
URL地址:http://www.shufengxianlan.com/qtweb/news31/393281.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联