C++中的函数重载

本文从语法角度来探讨C++函数重载

一般性的来讲函数的重载就是 参数列表(类型,顺序, 个数) 决定。即参数列表不同但是名称相同的函数可视为不同的函数,返回值的区别不能作为重载的要素。那么为什么还要针对C++来具体探讨呢,以为C++里面有意个特殊的关键字——const .

在C++中const可能会成为函数重载的一个依据(我就因为忽视这一点而被一个问题坑得够苦的!快哭了)。

请看下面的代码:

class A{
  int f();
   int f();
};

class B{
   int f() const;
   int f();
}


显然class A的定义是通不过的,但是class B的定义却能够通过。这就是说 int fun();和int fun() const;是不同的函数。

再看一个例子:

class A{
    int  f(int * const p);
    int  f(int * p);
};

class B{
    int  f(const int * p);
    int  f(int * p);
};


上面class A的定义同样通不过,class B的定义能够通过。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值