C++默认参数函数及函数重载
来源:互联网 发布:淘宝搜索结果不对 编辑:程序博客网 时间:2024/06/01 10:26
有默认参数函数
1.什么是有默认参数函数
一般情况下,C语言中在函数调用时形参从实参取得,但是在C++中提供一种简单处理方法给形参一个默认值,当调用函数时,若该形参未传入参数,则形参使用定义时的默认值。
2.代码实现:
#include<iostream>using namespace std;void fun(int a = 1,int b = 2){ cout << a <<endl; cout << b <<endl; return;}int main(){ fun(); //未传入参数,使用默认值 fun(3,4); //传入参数时,使用传入的参数}
运行结果:
3.由于实参与形参的结合是从左到右顺序进行,所以有默认值的形参必须放在最右侧。
例:
void fun(int a = 1,int b) //错误void fun(int b,int a = 1) //正确
同样的,当调用函数时,若该形参未传入参数,则形参使用定义时的默认值。
4.当函数调用在函数定义前时,需要在函数声明时给出默认值,此时,在函数定义时就不需要给出默认值。
如果在声明函数时给出了默认值,在定义函数时也给出了默认值不同编译器可能给出报错信息,所以建议只在函数声明时给出默认值以避免混淆。
函数重载
1.什么是函数重载?
在C++中一个函数名可以定义多个函数,这些函数根据传入参数个数及类型进行调用,这就是函数的重载。即对一个函数名增加定义,使一个函数名可以有多种用途。
2.代码实现:
int add(int a,int b) //int类型变量加法{ return a+b;}double(double a, doublr b) //重载后增加double类型加法{ return a+b;}
注:
当函数重载时不能只有函数类型相同,而参数个数,类型,顺序全相同;
- 因为当这样定义函数后,编译系统无法判断到底使用哪一个函数。
当函数重载时传参个数,参数类型,参数顺序不允许全部相同;
- 同样的定义参数全相同的重载函数后,编译系统无法判断到底使用哪一个函数。
当函数重载时,尽量使函数作用相近或同;
- 提高程序可读性,便于理解、阅读。
函数不能既为重载函数,又为有默认参数函数。
- 当未传入参数时,系统无法判定调用哪一个参数。
错误示范1:
int fun(int a)void fun(int a)//不允许只有函数类型相同,错误
错误示范2:
int fun(int a = 1 )int fun(int a = 1,int b = 2)//函数不能既为重载函数,又为有默认参数函数。错误
阅读全文
1 0
- C++默认参数函数及函数重载
- 函数重载 / 默认参数
- 函数:使用函数重载及默认参数实现程序
- 默认参数与函数重载
- 默认参数与函数重载
- 重载函数,默认参数,函数模板
- 内联函数,重载函数,默认参数
- 函数重载之函数的默认参数
- 10--函数重载、重载调用规则及与函数默认参数结合
- C++默认参数与函数重载
- 函数的重载与默认参数
- C++默认参数与函数重载 注意事项
- 转】C++默认参数与函数重载
- 具有默认参数的函数重载
- 函数重载与默认参数小结
- c++默认参数和函数重载
- C++学习-函数重载和默认参数
- C++默认参数与函数重载 注意事项
- LeetCode 39. Combination Sum
- java对象的多态性
- 递归遍历无限级分类
- mybatis动态sql中的trim标签的使用
- 免费的酷播云使用操作步骤(四步轻松完成哦)
- C++默认参数函数及函数重载
- Java异常处理
- 数据库隔离级别及其实现原理
- python 爬虫系列02 认识 requests
- Android数据加密之Des加密
- Spring中抛出异常时,既要要返回错误信息,还要做事务回滚
- 欢迎使用CSDN-markdown编辑器
- HTTP报文实例分析
- CSS样式的优势