iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C++函数与重载知识点有哪些
  • 224
分享到

C++函数与重载知识点有哪些

2023-06-30 18:06:32 224人浏览 薄情痞子
摘要

本文小编为大家详细介绍“c++函数与重载知识点有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“C++函数与重载知识点有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。函数的默认(缺省)参数1、默认参数的定

本文小编为大家详细介绍“c++函数与重载知识点有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“C++函数与重载知识点有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

    函数的默认(缺省)参数

    1、默认参数的定义

    c++在声明函数原型的时可为一个或者多个参数指定默认(缺省)的参数值,当函数调用的时候如果没有传递该参数值,编译器会自动用默认值代替。

    //函数的默认参数 指定x的默认值为10 y为20int my_add(int x=10,int y=20){    return x+y;}void test02(){    //如果函数传参 那么各自的默认参数将无效    cout<<"my_add = "<<my_add(100,200)<<endl;//300    //如果某个参数未被传参 将启用默认值x=100 y使用默认值20    cout<<"my_add = "<<my_add(100)<<endl;//120    //x=10  y=20    cout<<"my_add = "<<my_add()<<endl;//30}

    2、默认参数的注意点

    (1)、函数的默认参数从左向右,如果一个参数设置了默认参数,那么这个参数之后的参数都必须设置默认参数

    //函数的默认参数从左向右int func01(int x,int y=20,int z=30){    return x+y+z;}void test03(){    cout<<func01(100,200)<<endl;//330    cout<<func01(100)<<endl;//150    //cout<<func01()<<endl;//err x没有设置默认参数 必须传参}
    int fun(int a, int b, int c=10);//正確int fun(int a, int b=20, int c=10);//正確int fun(int a=30, int b=20, int c=10);//正確int fun(int a, int b=20, int c);//不正确

    (2)、如果函数声明和函数定义分开写,函数声明和函数定义不能同时设置默认参数

    C++函数与重载知识点有哪些

    (3)、默认参数一般在函数声明的时候 设置

    fun.cpp

    int func02(int x,int y,int z){    return x+y+z;}

    main.cpp

    //分文件 函数定义处的默认参数 是无效的//建议:分文件是 在声明 给默认参数extern int func02(int x,int y=25,int z=35);//extern int func02(int x,int y,int z);//errvoid test04(){    cout<<func02(100,200)<<endl;//335    cout<<func02(100)<<endl;//160}

    占位参数

    c++在声明函数时,可以设置占位参数。

    占位参数只有参数类型声明,而没有参数名声明。

    如果函数的参数只有类型名 没有形参名,这个参数就是占位参数

    注意:

    由于有类型名 所以 函数调用的时候 必须给占位参数传参。

    由于没有形参名 所以 函数内部 是无法使用占位参数。

    1、占位参数 函数内部无法使用

    void func03(int x,int y,int){    cout<<"x = "<<x<<", y = "<<y<<endl;    return;}void test05(){    //func03(10,30,"hehe");//err "hehe"和int类型不符    func03(10,30,40);}

    2、占位参数 可以设置成缺省参数

    void TestFunc01(int a,int b,int=100){     //函数内部无法使用占位参数 cout << "a + b = " << a + b << endl; }TestFunc01(10, 20,30);//okTestFunc01(10, 20);//ok

    什么时候用,在后面我们要讲的操作符重载的后置++要用到这个

    函数重载

    函数重载体现了 c++ 的多态的特性

    函数重载:同一个函数名在不同场景下可以具有不同的含义。

    函数重载意义:方便的使用函数名。

    函数重载的条件: 同一个作用域 参数个数不同 参数类型不同 参数顺序不同(重要)

    void myFunc(int a){    cout<<"int的myFunc"<<endl;}void myFunc(int a,int b){    cout<<"int,int 的myFunc"<<endl;}void myFunc(int a,double b){    cout<<"int , double的myFunc"<<endl;}void myFunc(double a,int b){    cout<<"double,int的myFunc"<<endl;}void test06(){    myFunc(10);//int    myFunc(10,20);//int int    myFunc(10,20.2);//int double    myFunc(10.1,20);//double int}

    C++函数与重载知识点有哪些

    注意:

    函数的返回值类型 不能作为 函数重载的依据。

    C++函数与重载知识点有哪些

    函数重载和默认参数一起使用,需要额外注意二义性问题的产生

    void myFunc02(int a){    cout<<"int的myFunc02"<<endl;}void myFunc02(int a,int b=10)//默认参数{    cout<<"int,int 的myFunc02"<<endl;}void test07(){    //myFunc02(int a) 和 myFunc02(int a,int b=10)都能识别    myFunc02(10);//二义性产生}

    函数重载的原理(了解)

    C++函数与重载知识点有哪些

    读到这里,这篇“C++函数与重载知识点有哪些”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网其他教程频道。

    --结束END--

    本文标题: C++函数与重载知识点有哪些

    本文链接: https://www.lsjlt.com/news/330724.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    本篇文章演示代码以及资料文档资料下载

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档
    猜你喜欢
    • C++函数与重载知识点有哪些
      本文小编为大家详细介绍“C++函数与重载知识点有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“C++函数与重载知识点有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。函数的默认(缺省)参数1、默认参数的定...
      99+
      2023-06-30
    • C++深入分析讲解函数与重载知识点
      目录函数的默认(缺省)参数1、默认参数的定义2、默认参数的注意点占位参数1、占位参数 函数内部无法使用2、占位参数 可以设置成缺省参数函数重载函数的默认(缺省)参数 1、默认参数的定...
      99+
      2024-04-02
    • C语言函数的知识点有哪些
      这篇文章主要介绍“C语言函数的知识点有哪些”,在日常操作中,相信很多人在C语言函数的知识点有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C语言函数的知识点有哪些”的疑惑有所帮助!接下来,请跟着小编一起来...
      99+
      2023-06-30
    • DevOps重点知识有哪些
      本篇内容介绍了“DevOps重点知识有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1. 部署频率开发...
      99+
      2024-04-02
    • python中函数知识点有哪些
      这篇文章主要介绍python中函数知识点有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!函数参数的两大分类形式参数函数定义阶段括号所写的参数实际参数函数调用阶段括号内传入的参数形参与实参的关系可以将形参看成是变量...
      99+
      2023-06-25
    • CSS重要知识点有哪些
      这篇文章主要讲解了“CSS重要知识点有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“CSS重要知识点有哪些”吧!SelectorsRoot:root&n...
      99+
      2024-04-02
    • javascript中的函数知识点有哪些
      这篇文章主要讲解了“javascript中的函数知识点有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“javascript中的函数知识点有哪些”吧!Ja...
      99+
      2024-04-02
    • java有哪些重要知识点
      本篇内容介绍了“java有哪些重要知识点”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!JDK JRE JVMJDK:Java标准开发包,它提...
      99+
      2023-06-20
    • JavaScript匿名函数知识点有哪些
      这篇文章主要介绍了JavaScript匿名函数知识点有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇JavaScript匿名函数知识点有哪些文章都会有所收获,下面我们一起来...
      99+
      2024-04-02
    • js函数相关知识点有哪些
      这篇文章将为大家详细讲解有关js函数相关知识点有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在js种函数实际上是对象,每个函数都是Function类型的实例。和其他...
      99+
      2024-04-02
    • C/C++指针知识点有哪些
      本篇内容介绍了“C/C++指针知识点有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!基础部分关于内存内存含义:存储器:计算机的组成中,用...
      99+
      2023-06-03
    • C++语法知识点有哪些
      这篇文章主要讲解了“C++语法知识点有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C++语法知识点有哪些”吧!C++程序的组成 (1)预处理命令以#开头。三类预处理命令。A 宏定义命令...
      99+
      2023-06-17
    • Linux挂载的知识点有哪些
      Linux挂载的知识点有哪些,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。在 Linux 系统中,可以通过挂载的方式来使用一些外部设备,这种情况下需要我们掌握的知识点主要有...
      99+
      2023-06-28
    • Ajax的重要知识点有哪些
      这篇文章主要介绍“Ajax的重要知识点有哪些”,在日常操作中,相信很多人在Ajax的重要知识点有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Ajax的重要知识点有哪些”...
      99+
      2024-04-02
    • javascript Async函数相关知识点有哪些
      本篇内容介绍了“javascript Async函数相关知识点有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学...
      99+
      2024-04-02
    • java的重要知识点有哪些
      本篇内容介绍了“java的重要知识点有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Spring Cloud Config配置管理工具包...
      99+
      2023-06-04
    • MySQL重要知识点都有哪些
      这篇文章给大家介绍MySQL重要知识点都有哪些,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。什么是MySQLMySQL 是一种关系型数据库,在Java企业级开发中非常常用,因为 MyS...
      99+
      2024-04-02
    • C编程语言的重要知识点有哪些
      本篇内容介绍了“C编程语言的重要知识点有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在C语言中,您可以在类型转换中,运算符内部,函数声...
      99+
      2023-06-16
    • R语言数据重塑知识点有哪些
      这篇文章给大家分享的是有关R语言数据重塑知识点有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。R 语言中的数据重塑是关于改变数据被组织成行和列的方式。 大多数时间 R 语言中的数据处理是通过将输入数据作为数据...
      99+
      2023-06-14
    • OLAP与数据分析知识点有哪些
      这篇文章主要介绍“OLAP与数据分析知识点有哪些”,在日常操作中,相信很多人在OLAP与数据分析知识点有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”OLAP与数据分析知识点有哪些”的疑惑有所帮助!接下来...
      99+
      2023-06-03
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作