当前位置:网站首页 > 技术博客 > 正文

函数int main(void)已有主体



函数重载

  • C语言:不支持 (报错:error 函数已有主体)
    原因:函数符号的生成只依赖函数名。函数符号相同编译无法通过
  • C++:支持
    原因:函数符号的生成依赖 函数名+参数列表 。重载后的各函数符号不同。

函数重载特点

函数名相同,参数列表不同,处于同一作用域。返回值不参与重载,重载函数调用类型要明确。

实例一:函数重载

规则1:函数名相同,参数列表不同

 
  

实例二:作用域限定

规则2:处于同一作用域

在main() 函数中声明 使得在main() 函数作用域下都使用 Compare_Int_Int

 
  

我们重载的函数是在整个文件中的全局作用域函数,在mian() 函数内部声明的是局部作用域的函数。根据“就近原则”(如果作用域重叠,先使用小作用域。如全局变量和局部变量同名,使用局部变量)。如果我们要想使用全局函数使用的方法调用。如下:

 
  

实例三:使用关键字 const 和 volatile

规则3:与const有关的几种特殊重载

  1. 参数 与 是同一种类型
 
  

使用 中的 查看类型信息

 
  
  1. 当使用指针或引用时,可以进行函数重载

如,以下编译器视为4个不同版本的函数重载

 
  

测试:

 
  
  1. 类成员重载

类中存在后置const的常函数,与普通类成员函数之间可以实现重载。

注:后置const作用在与this指针上,使其原本的 this 指针转变为 this指针,因此在声明为后置const的常对象中不可修改类成员变量(mutable与const_cast除外)。

 
  

                            

  • 上一篇: py文件生成exe运行失败
  • 下一篇: vue axios
  • 版权声明


    相关文章:

  • py文件生成exe运行失败2025-05-24 12:30:04
  • 离线安装pycharm2025-05-24 12:30:04
  • 灰度发布引擎2025-05-24 12:30:04
  • xuetm2025-05-24 12:30:04
  • c语言typeof函数2025-05-24 12:30:04
  • vue axios2025-05-24 12:30:04
  • 手机拖动滑块获取验证码没有反应2025-05-24 12:30:04
  • 依赖包括什么2025-05-24 12:30:04
  • pytorch版本2025-05-24 12:30:04
  • java课程设计案例精编2025-05-24 12:30:04