C++学习笔记day10--函数提高
2020-07-19 13:38
92 查看
1、函数默认参数
#include<iostream> using namespace std; //函数默认参数 //如果我们自己传入数据,就用自己的数据,如果没有,就用默认参数 //语法:返回值类型 函数名(形参=默认值){} int func(int a, int b=20, int c=30) { return a + b + c; } //注意事项 //1、如果某个位置已经有了默认参数,那么从这个位置往后,从左到右都必须有默认值 //2、如果函数的声明有了默认参数,函数实现就不能有默认参数 // 声明和实现只能有一个有默认参数 int func2(int a=10, int b=20); int func2(int a, int b) { return a + b; } int main1() { cout << func(10) << endl; cout << func(10,30) << endl; cout << func2() << endl; system("pause"); return 0; }
2、函数占位参数
#include<iostream> using namespace std; //占位参数 //返回值类型 函数名(数据类型){} //占位参数,还可以有默认参数 void func(int a,int =10) { cout << "this is func" << endl; } int main2() { func(10,10); system("pause"); return 0; }
3、函数重载
#include<iostream> using namespace std; //函数重载:可以让函数名相同,提高复用性 //函数重载满足条件: /* 1同一个作用域下 2函数名称相同 3函数参数类型不同或者个数不同或者顺序不同 */ //注意事项:函数的返回值不可以作为函数重载的条件 //函数重载的注意事项 //1、引用作为重载的条件 void fun(int &a) { cout << "func(int &a) 的调用" << endl; } void fun( const int &a) { cout << "func(const int &a) 的调用" << endl; } //2、函数重载碰到默认参数 void fun2( int a) { cout << "func(int a) 的调用" << endl; } void fun2(int a,int b=10) { cout << "func(int a,int b) 的调用" << endl; } void func() { cout << "func 的调用" << endl; } void func(int a) { cout << "func (int a)的调用" << endl; } void func(double a) { cout << "func (double a)的调用" << endl; } int main() { func(); func(10); func(3.14); int a = 10; fun(a); fun(10); //fun2(10);//当函数重载碰到默认参数,出现二义性,报错,尽量避免出现 system("pause"); return 0; }
相关文章推荐
- c++学习笔记系列1(内存四区,引用,函数提高)
- C++中虚函数学习笔记
- Inside the C++ Object Model 学习笔记 第四章 函数语意学
- 【学习笔记】C++高级程序设计:STL:函数对象
- c++学习笔记:void*变量,在函数内必须要明确变量类型
- C++学习笔记之继承层次中的函数调用。
- C_PlusPlus学习笔记 - 2_函数 (C++语言程序设计【第三版】 郑莉等,清华大学出版社)
- C++学习笔记(第四章 函数的应用及多文件组织 之三)
- [C++学习笔记]自定义函数的传值方法
- 2012/1/19 《C++ Primer Plus》第七章:函数——C++编程模块 学习笔记
- C++学习笔记(六)函数
- C++基础学习笔记----第四课(函数的重载、C和C++的相互调用)
- C/C++学习笔记7:const运用(2)之const成员函数
- C++学习笔记24 函数模板
- C++学习笔记(七):函数
- <C++学习笔记>函数模板 template
- C++pirmer 学习笔记之函数定义
- Effective c++学习笔记——条款6,不想自动生成函数,要明确拒绝
- C++学习序列笔记之函数原型和函数定义
- C++学习笔记之函数