函数重载

函数重载是对两个或多个函数使用同样的函数名的过程。函数的参数个数,类型,或序列称为“函数特征”。当有同样名字的多个函数时,编译器根据函数的参数特征识别出此函数。

例;

 1, void  add(int);

     void  add(int,float);       这里,两个名为add()的函数是不同的,因为他们的参数的个数特征是不同的。

 

 

2,void  display(int);

     void  display(float);       这里的两个名为display()的函数是不同的,因为他们的数据类型特征是不同的。

 

 

3,void display(int,char);

     void display(char,int);   这里的两个名为display()的函数是不同的,因为他们的数据类型的次序特征不同。

 

4,void display();

     char display();        函数返回值的数据类型,不是函数特征的一部分,所以这两个声明不能出现在同一个类中。

 

 

给一个实例看看

#include<iostream>

using namespace std;

class a

{

   public:

        void max(int,int);

        void  max(float,float);

}

void a::max(int num1,int num2)

{

       int max;

       if(num1>num2)       max=num1;

       else  max=num2;

       cout<<"num1和num2中的最大数是"<<max<<endl;

}

void a::max(float num1,float num2)

{

        float  max;

        if(num1>num2)      max=num1;

        else     max=num2;

        cout<<"num1和num2中最大的数是"<<max<<endl;

}       

void main()

{

     a b;

     b.max(100,200);

     b.max(12.3F,22.5F);

}

 

 

上面的程序中是用了同名的max()函数,函数参数个数相同但是类型不同,在调用时编译器根据所给的参数类型来分辨调用哪个函数。

 

用函数重载使程序员不必记住多个函数名,只要记住一个函数名max(),就可以传递不同数据类型的参数。

 

 

 

 

 

   

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值