1、函数的默认参数
cpp#include <iostream> using namespace std; //如果自己传入数据,就用自己的数据,如果没有,就用默认值 int func(int a, int b=20, int c=30) { return a + b + c; } //注意事项 //1、如果某个位置已经有了默认参数,那么从这个位置往后,从左到右都必须有默认值 //int func2(int a, int b = 10, int c,int d) { // //} //2、如果函数声明有默认参数,函数实现就不能有默认参数 二义性 //声明和实现只能有一个默认参数 int func2(int a = 10, int b = 10); int func2(int a = 10, int b = 10) { return a + b; } int main() { //cout << func(10,30) << endl; system("pause"); return 0; }
2、函数的占位参数
cpp#include <iostream> using namespace std; //目前阶段的占位参数 还用不到 后面会用到 void func(int a, int) { cout << "this is func" << endl; } //占位参数还可以有默认参数 void func2(int a, int=10) { cout << "this is func" << endl; } int main() { func(10,10); func2(10); system("pause"); return 0; }
3、函数重载
cpp#include <iostream> using namespace std; //函数重载的满足条件 //1、同一个作用域下 //2、函数名称相同 //3、函数参数类型不同,或者个数不同,或者顺序不同 void func() { cout << "func 的调用" << endl; } void func(int a) { cout << "func(int a)的调用" << endl; } void func(double a) { cout << "func(double a)的调用" << endl; } void func(int a,double b) { cout << "func(int a,double b)的调用" << endl; } void func(double b,int a ) { cout << "func(double b,int a)的调用" << endl; } int main() { //func(); //func(10); //func(3.14); //func(10, 3.14); func(3.14, 10); system("pause"); return 0; }
4、函数重载的注意事项
cpp#include <iostream> using namespace std; //1、引用作为重载的条件 void func(int& a) { cout << "fun(int& a)调用" << endl; } void func(const int& a) { cout << "fun(const int& a)调用" << endl; } //2、函数重载碰到默认参数 void func2(int a) { cout << "func2(int a)的调用" << endl; } void func2(int a,int b=10) { cout << "func2(int a,int b=10)的调用" << endl; } int main() { /*int a = 10; func(a);*/ //func(10); //func2(10);报错,当函数重载碰到默认参数,出现二义性。尽量避免 system("pause"); return 0; }
函数高级(个人学习笔记黑马学习)
寻心的无心者2023-09-01 18:41
相关推荐
Sunsets_Red3 分钟前
2025 FZYZ夏令营游记自由生长202417 分钟前
从流式系统中思考-C++生态和Java生态的区别车载测试工程师32 分钟前
CAPL学习-AVB交互层-媒体函数2-其他类函数待分类深蓝海拓39 分钟前
PySide6从0开始学习的笔记(十) 样式表(QSS)饕餮怪程序猿1 小时前
订单分批算法设计与实现:基于商品相似性的智能分拣优化(C++)deng-c-f1 小时前
Linux C/C++ 学习日记(59):手写死锁监测的组件深蓝海拓1 小时前
PySide6从0开始学习的笔记(十三) IDE的选择崇山峻岭之间1 小时前
Matlab学习记录05nnsix1 小时前
Unity 新InputSystem 学习笔记roman_日积跬步-终至千里2 小时前
【人工智能导论】05-学习-机器学习基础:从数据到智能决策