本篇内容介绍了“怎么使用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);
}
即通过一个无用变量来避免类型相似。
“怎么使用C++函数类型与重载函数”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注天达云网站,小编将为大家输出更多高质量的实用文章!