观书散遗帙,探古穷至妙。这篇文章主要讲述c++核心编程--函数的重载相关的知识,希望能为你提供帮助。
1.1函数重载概述
?作用?:函数可以相同,提高复用性
?函数重载必须满足的条件?:
?注意?:函数的返回值不可以作为函数重载的条件
完整代码示例:
// 函数重载的条件
//1,在同一个作用域中
//2,相同的返回值类型和函数名
//3,函数的参数个数不同或者参数顺序不同或者参数类型不同
void cunc()
cout <
<
"func()函数的重载" <
<
endl;
void func(int a)
cout <
<
"func(int a)函数的重载" <
<
endl;
void fuc(double c)
cout <
<
"func(doube c )的调用" <
<
endl;
void func(int a,double c)
cout <
<
"func(int a,double c)函数的调用" <
<
endl;
//函数的返回值类型不能作为函数的重载
//int func(int a,double c)
//
//cout <
<
"函数int func()的调用" <
<
endl;
//return 22;
//
int main()
//func(3.33);
//func(10,3.11);
//func(210, 20);
//func(10,20);
system("pause");
输出结果:
?注意:函数的返回值类型不能作为函数的重载?
int func(int a,double c)
cout <
<
"函数int func()的调用" <
<
endl;
return 22;
输出会直接报错
?总结?:??函数的重载类似与汉语中的多音字,在不同的环境读不同的音,用不同的参数环境调用不同的功能??
1.2函数重载的注意事项//函数重载的注意事项
//1、引用作为函数参数
void func(int &
a)
cout <
<
"函数function(int a)的调用" <
<
endl;
void func(const int&
a)
cout <
<
"函数function(const int a)的调用" <
<
endl;
//2、函数重载碰到默认参数
void test(int a)
cout <
<
"函数test(int a)的调用" <
<
endl;
void test(int a,int b=10)
cout <
<
"函数test(int a,int b)的调用" <
<
endl;
int main()
//int a = 10;
//func(a);
//实际参数a变量可读可写,传入函数后走可读可写的函数
//func(10);
//实际参数10是常量 若走int &
a=10;
不合法,引用无效;但能走const int &
a=10;
test(10, 20);
//test(10);
//错误,两个函数都能被调用。出现二义性。
system("pause");
【c++核心编程--函数的重载】
推荐阅读
- #yyds干货盘点#java高级用法之:在JNA中将本地方法映射到JAVA代码中
- k8s集群Job负载支持多个Pod可靠并发,如何权衡利弊选择适合的并行计算模式()
- #yyds干货盘点#IDEA上运行Flink任务
- C语言文件操作
- #yyds干货盘点# 一文带你 RocketMQ 源码调试环境搭建
- G1垃圾回收器在并发场景调优
- Jmeter 脚本开发之——扩展函数
- Asp.Net Core Swagger 页面适配 Nginx 二级目录 | 完美解决方案 #yyds干货盘点#
- TCP和UDP基本原理1-(H3CNE)