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
相关推荐
xiaoyalian2 小时前
R语言绘图过程中遇到图例的图块中出现字符“a“的解决方法南东山人2 小时前
一文说清:C和C++混合编程Red Red4 小时前
网安基础知识|IDS入侵检测系统|IPS入侵防御系统|堡垒机|VPN|EDR|CC防御|云安全-VDC/VPC|安全服务贰十六5 小时前
笔记:Centos Nginx Jdk Mysql OpenOffce KkFile Minio安装部署知兀5 小时前
Java的方法、基本和引用数据类型Ysjt | 深5 小时前
C++多线程编程入门教程(优质版)ephemerals__5 小时前
【c++丨STL】list模拟实现(附源码)Microsoft Word6 小时前
c++基础语法Natural_yz6 小时前
大数据学习17之Spark-Core