重载函数(C++)
1.简介
C++允许在同一范围中声明几个功能类似的同名函数,但是这些同名函数的形式参数(指参数的个数、类型或者顺序)必须不同,即函数的参数列表不同,也就是说用同一个运算符完成不同的运算功能。这就是重载函数。重载函数常用来实现功能类似而所处理的数据类型不同的问题。
2.优点
重载函数通常用来命名一组功能相似的函数,这样做减少了函数名的数量,避免了名字空间的污染,对于程序的可读性有很大的好处。
3.例题(复数的运算)
【问题描述】
请分析给定的代码,添加重载函数,实现复数的多种加法运算。
#include<iostream>
#include<iomanip>
using namespace std;
struct complex{
double r;
double i;
};
inline complex add(complex a,complex b){
complex c;
c.i=a.i+b.i;
c.r=a.r+b.r;
return c;
}
inline complex add(complex a,double num){
complex c;
c.r=a.r+num;
c.i=a.i;
return c;
}
inline complex add(double num,complex a){
complex c;
c.r=a.r+num;
c.i=a.i;
return c;
}
int main()
{
double num;
complex a,b,c;
cin>>a.r>>a.i;
cin>>b.r>>b.i;
cin>>num;
c=add(a, b);
cout<<c.r<<"+"<<c.i<<"i"<<endl;
c=add(a,num);
cout<<c.r<<"+"<<c.i<<"i"<<endl;
c=add(num,b);
cout<<c.r<<"+"<<c.i<<"i"<< endl;
}