C++中重载的一个特例

来源:互联网 发布:windows nc.exe 编辑:程序博客网 时间:2024/04/30 01:07

大家都知道,具有相同名字而形参表不同的函数称为重载函数

这里只是要注意一个特殊的情况:

const形参与非const形参,对于重载而言无本质区别,看下面的例子:

 

编译时报错:error C2084: function 'int __cdecl fun(int)' already has a body

上面两个函数在本质上是相同的,第二个函数是对第一个函数的重定义。

 

但是,有const引用形参的函数与有非const引用形参的函数是不同的。

下面的例子是一个合法的重载:

 

类似地,带有指向const类型的指针形参的函数与带有指向相同类型的非const对象的指针形参的同名函数是合法的重载,如下例:

 

这是重载中比较重要的一点,希望大家一定要注意。

原创粉丝点击