这篇文章主要讲解了“c++函数的重载怎么实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“c++函数的重载怎么实现”吧!
作用:函数可以相同,提高复用性
函数重载必须满足的条件:
1.同一个作用域下
2.函数名称相同
3.函数参数类型不同或者个数不同或者顺序不同
注意:函数的返回值不可以作为函数重载的条件
完整代码示例:
// 函数重载的条件
//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、引用作为函数参数
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++函数的重载怎么实现”的内容了,经过本文的学习后,相信大家对c++函数的重载怎么实现这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。