重生之C++学习:缺省函数,函数重载,内联函数

  • 缺省函数
  • 函数重载
  • 内联函数

缺省参数的定义:

缺省参数是声明或定义函数时为函数的参数指定一个缺省值。在调用该函数时,如果没有指定实,参则采用该形参的缺省值,否则使用指定的实参,就是缺省函数,可以传入函数所需参数的部分,未传入部分用设定值来替代,


// 通过缺省的程度来判断全缺省和半缺省

全缺省参数:


#include<iostream>
using std::cout;
using std::endl;

int Add(int x = 10, int y = 20,int z = 20){

    return x + y;
}

int main(){
    
    int ret1 = Add();        //不传入参数,使用形参默认值
    cout<< ret1 <<endl;

    int ret2 = Add(1, 2, 3)      //传入参数,使用指定实参
    cout<< ret2 <<endl;
    return 0;
}

半缺省参数        // 半缺省函数需要赋值


int Add(int x, int y, int z = 20){

    return x + y;
}

void test(){

    // 传入三个参数可以
    Add(1, 2, 3);
    // 传入x,y可以
    Add(1, 2);
    // 因为y不为缺省,所以不行
    Add(1);    
}


函数重载

在日常生活中我们也经常遇到一个词表达不同的意思,例如中国的体育项目的两大极端:

乒乓球和足球一个是“谁也赢不了”另一个也是“谁也赢不了”相同的词表达这不同的意思,c++中的重载也在此体现来。

关于重载的定义在这个图里面

#include <iostream>

// 重载函数 add,对两个整数相加
int add(int a, int b) {
    return a + b;
}

// 重载函数 add,对两个浮点数相加
float add(float a, float b) {
    return a + b;
}

int main() {
    int result1 = add(1, 2);         // 调用第一个 add 函数
    float result2 = add(1.5f, 2.5f); // 调用第二个 add 函数

    std::cout << "Result1: " << result1 << std::endl;
    std::cout << "Result2: " << result2 << std::endl;

    return 0;
}

 

内联函数

一般我们定义内联函数是为了减少小函数调用的时候栈帧开辟带来的效率降低。

而内联函数是为了来更好的完成,作为C语言宏函数的替代 ,但是注意内联函数放在头文件定义就好

// 宏函数
#define Add(x, y) ((x) + (y))

// 内联函数
inline int Add(int x, int y){

    return x + y;
}

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值