700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > c/c++教程 - 2.3 函数的提高 函数的形参列表默认值 占位参数 函数重载

c/c++教程 - 2.3 函数的提高 函数的形参列表默认值 占位参数 函数重载

时间:2021-10-04 14:09:36

相关推荐

c/c++教程 - 2.3 函数的提高 函数的形参列表默认值 占位参数 函数重载

3. 函数的提高

目录

3. 函数的提高

3.1 函数的默认参数

3.2 函数占位参数

3.3 函数重载 (重要)

相关教程

3.1 函数的默认参数

C++中,函数的形参列表中的形参是可以有默认值的。

语法

返回值类型 函数名 (参数 = 默认值) {}

// 如果没有传入参数,就使用默认值。// 如果有传入的参数,就使用传入的参数。// 语法: 返回值类型 函数名(形参 = 默认值)int func(int a, int b = 20, int c = 30){return a + b + c;}int main() {func(10, 20);cout << func(10) << endl;cout << func(10, 30) << endl;system("pause");return 0;}---------------------------------------------------------------6070请按任意键继续. . .

注意1:如果某个位置已经有了默认参数,那么从这个位置往后,从左到右都必须有默认值。

注意2:如果函数声明有默认参数,函数的实现就不能有默认参数。

声明和实现中,只能有一个有默认参数。

3.2 函数占位参数

作用:C++中函数的形参列表里可以有占位参数,用来做占位,调用函数时必须填补该位置。

语法

返回值类型 函数名 (数据类型) {}

现阶段函数的占位参数存在意义不大,但是后面的课程中会有用到该技术。

占位参数,还可以有默认参数。

3.3 函数重载 (重要)

作用:函数名可以相同,提高复用性。(根据函数的参数的不同,在不同情况下调用不同的函数

函数重载满足条件

1. 同一个作用域下。2. 函数名相同。3. 函数参数类型不同或者个数不同或者顺序不同

注意:函数的返回值不可以作为函数重载的条件。

// 函数重载// 可以让函数名相同,提高复用性void func(void){cout << 1 << endl;}void func(int a){cout << a << endl;}void func(int a, int b){cout << a + b << endl;}void func(double a, int b){cout << "func(double a, int b)" << endl;}void func(int a, double b){cout << "func(int a, double b)" << endl;}// 函数的返回值不可以作为函数重载的条件//int func(int a, double b)//{//cout << "func(int a, double b)" << endl;//}int main() {func();func(10);func(10, 20);func(3.14, 20);func(20, 3.14);system("pause");return 0;}-------------------------------------------------------------------11030func(double a, int b)func(int a, double b)请按任意键继续. . .

注意事项

注意1:引用作为重载条件。

// 函数重载的注意事项// 1.引用作为重载的条件void func(int& a){cout << "func(int& a)" << endl;}void func(const int& a){cout << "func(const int& a)" << endl;}int main() {int a = 10;func(a);func(10);system("pause");return 0;}---------------------------------------------------------func(int& a)func(const int& a)请按任意键继续. . .

注意2:函数重载碰到函数默认参数。

// 函数重载的注意事项// 1.引用作为重载的条件// 2.函数重载碰到默认参数void func(int a){cout << "func(int a)" << endl;}void func(int a, int b = 20){cout << "func(int a, int b = 20)" << endl;}int main() {int a = 10;func(a); // 碰到默认参数产生歧义,需要避免。这句编译器会报错//func(10);system("pause");return 0;}

相关教程

开发环境搭建:Visual Studio C++开发环境搭建推荐视频:/video/BV1et411b73Z?from=search&seid=4205594350351753444已投币三连,非常细致的视频教程,感谢up主。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。