详解C++函数类型与重载函数

 更新时间:2021年11月19日 11:48:07   作者:shxaz  
这篇文章主要为大家介绍了C++函数类型与重载函数,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助

1.首先对重载函数,明确函数的返回类型不能决定重载函数的类别,即

int F(int ,int) ;//一个返回 int 类型的函数
void F(int ,int);//一个无返回值的函数
//两者形参列表相同,返回值类型不同,但两者不构成重载函数 

2.注意形参列表中的默认值,使用含默认参数的重载函数时可能会产生二义性。例:

int a = 0;
int Max(int,int);
int Max(int,int,int = 0);
//则对Max(3,5)的调用会报错
 a = Max(3,5);           //错误 

另外,对默认参数,应该在函数名第一次给出的时候指定,通常在函数原型中。若已在函数原型中指定默认参数,则函数定义时不能重复给出。

问题:

在一道题中我看到了这样一个问题,简述起来就是让你调用一个值传递的重载函数和一个引用传递的重载函数,

#include<iostream>
using namespace std;
void F(int &a, int &b) {
	a = a + b;
	cout << a<<endl;
}
int F(int a, int b,) {
	return a + b;
}
int main(){
cout<<F(a,b);
F(a,b);
}

此时调用两个F函数就会报错,那如何改变函数类型来避免函数调用不明确呢?

我是这样做的,

#include<iostream>
using namespace std;
void F(int &a, int &b) {
	a = a + b;
	cout << a<<endl;
}
int F(int a, int b,int c) {
	return a + b;
}
int main(){
int a = 10;
int b = 20;
cout << F(a, b,1)<<endl;
	F(a,b);
}

即通过一个无用变量来避免类型相似。

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注脚本之家的更多内容!

相关文章

  • VC++的if语句应用范围分析

    VC++的if语句应用范围分析

    这篇文章主要介绍了VC++的if语句应用范围分析,对VC++初学者有很好的参考学习价值,需要的朋友可以参考下
    2014-08-08
  • c语言获取直播吧最近一周nba比赛信息

    c语言获取直播吧最近一周nba比赛信息

    这篇文章主要介绍了使用c语言获取直播吧最近一周nba比赛信息的方法,需要的朋友可以参考下
    2014-04-04
  • C++实现算法两个数字相加详解

    C++实现算法两个数字相加详解

    这篇文章主要介绍了C++实现算法两个数字相加详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-07-07
  • C++ 的cout格式化输出场景示例详解

    C++ 的cout格式化输出场景示例详解

    这篇文章主要为大家介绍了C++的cout格式化输出场景示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-09-09
  • C++扑克牌的洗牌发牌游戏设计

    C++扑克牌的洗牌发牌游戏设计

    这篇文章主要为大家详细介绍了C++扑克牌的洗牌发牌游戏设计,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-08-08
  • visual studio2019的安装以及使用图文步骤详解

    visual studio2019的安装以及使用图文步骤详解

    这篇文章主要介绍了visual studio2019的安装以及使用图文步骤详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03
  • 一文带你学习C++中的派生机制

    一文带你学习C++中的派生机制

    C++是一门面向对象的编程语言,其中的派生机制是其重要的面向对象特性之一。本文我们就来详细地学习一下C++中的派生机制的相关知识吧
    2023-04-04
  • c语言内存泄露示例解析

    c语言内存泄露示例解析

    从1988年著名的莫里斯蠕虫 攻击到有关 Flash Player 和其他关键的零售级程序的最新安全警报都与缓冲区溢出有关:“大多数计算机安全漏洞都是缓冲区溢出”,Rodney Bates 在 2004 年写道
    2013-09-09
  • MFC程序设计常用技巧汇总

    MFC程序设计常用技巧汇总

    这篇文章主要介绍了MFC程序设计常用技巧,实例汇总了MFC程序设计中常见的问题与解决方法,非常具有实用价值,需要的朋友可以参考下
    2015-05-05
  • C++访问std::variant类型数据的几种方式小结

    C++访问std::variant类型数据的几种方式小结

    std::variant是 C++17中引入的一个新的类模板,提供了一种存储不同类型的值的方式,本文主要介绍了C++访问std::variant类型数据的几种方式小结,具有一定的参考价值,感兴趣的可以了解一下
    2024-02-02

最新评论