所谓函数重载,通俗讲就是C++中同一个函数可以允许不同数据类型或者不同变量数量情况下在多种环境下使用,比如说函数 abs( ) ,你可以定义整型,浮点型,实数型都可以调用,你要做的是定义好三个初始的函数,也可以不同的变量数量,需要什么数量就定义有该数量变量的同名函数,但是函数的重载也往往带来阅读上的麻烦,所以要谨慎使用并且做好注释,下面以接受不同变量数量的重载函数为例,其实很简单:
#include<iostream>
#include<cstdio>
using namespace std;
int f(int a,int b,int c);//预先声明好要定义的函数
int f(int a,int b);
int f(int a);
int main(){
int a,b,c,d,e,g;
cin>>a>>b>>c;
d=f(a);//调用重载函数
e=f(a,b);
g=f(a,b,c);
cout<<d<<' '<<e<<' '<<g<<endl;
return 0;
}
int f(int a,int b,int c){
return a+b+c;//三个变量时相加
}
int f(int a,int b){//两个变量时相乘
return a*b;
}
int f(int a){//一个变量时求平方
return a*a;
}
测试:
//输入:
2 2 2
//输出:
4 4 6