C++ 函数重载

一组函数,函数名相同。函数的参数类型或参数个数不同,那么这一组函数就称作函数重载。

C++ 为什么支持函数重载?

  • C++代码产生函数符号的时候,是由函数名+参数列表组成的
  • C代码产生函数符号的时候,是由函数名来决定;

函数重载需要注意什么?

  • 一组函数如果是重载函数,一定是处于同一作用域。否则函数调用时会优先调用处于当前最近作用域的那个函数。

    bool compare(int a, int b) {}
    bool compare(char a, char b) {}
    bool compare(double a, double b) {}
    int main() {
    	bool compare(int a, int b); //所有的函数调用都会调用 bool compare(int a, int b) {},因为处于同一作用域
    	compare(1, 4);
    	compare(1.0, 4.0);
    	compare('1', '4');
    }
    
  • 一组函数被 const、volatile修饰时是重载吗?

  • 一组函数,函数名相同、参数列表也相同,仅仅是返回值不同,不是重载。

C++和C语言代码之间如何相互调用?

  • C++调用C代码,无法直接调用,会出现无法解析的外部符号。可以通过把函数声明用extern C修饰。表示按照C语言规则生成代码。
  • C调用C++,无法直接调用,可以通过把C++函数用extern C修饰。表示按照C语言规则生成代码。

const顶层与const底层重载

  • const顶层不能作为重载的依据;
  • const底层可以作为重载的依据
posted @   小熊酱  阅读(14)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗
点击右上角即可分享
微信分享提示