- C++里的函数重载 overloading 机制比我们此前见到的东西都更加高深,这种语言的灵活性和强大功能在它身上体现的淋漓尽致
- 所谓函数重载的实质 是用同样的名字在定义 一个有着不同参数但有着同样用途的函数(人格分类…多重身份)
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
函数重载 到底是什么样的#include <iostream> #include <math.h> float calc(float i); float calc(float i,float k); float calc(float i,float j,float k); using namespace std; int main(int argc, char *argv[]) { float i; cout<<"请输入:"<<"\n"; cin>>i; calc(float i); calc(float i,float j,float k); calc (float i,float k); return 0; } calc(float i) { float k; k=sqrt(i); cout<<k<<"\n"; } calc(float i,float k) { cout<<(i*k)<<"\n"; } calc(float i,float j,float k) { cout<<(i+j+k)<<"\n"; }
此上是 重载 的思想, 具体代码还有待实现。
需要解决
重载的应用例二
#include <iostream> using namespace std; void print(int * pbegin,int *pend) { while(pbegin != pend) { cout<<*pbegin; ++pbegin; } } void print(char *pbegin,char *pend) { while(pbegin != pend) { cout<< *pbegin; ++pbegin; } } int main(int argc, char *argv[]) { int num[5]= { 0,1,2,3,4 }; char name[5]={ 'f','i','s','h','c' }; print(num ,num+5); cout<<'\n'; print(name,name+5); cout<<'\n'; return 0; }