信管14:函数重载示例
2015-03-23 15:02
309 查看
函数重载是C所没有的内容。所谓重载,就是几个函数具有相同的函数名,函数参数个数或类型不同,系统在编译时会根据实际的实参个数和类型来决定调用哪一个函数。下面程序中的max()函数就是重载。
请参照课本P29-31页面相关内容。
请思考如下几个问题:
1.重载有什么好处?
2.什么时候会出现重载的二义性错误?
3.自己定一个程序,定义几个重载函数程序。
#include<iostream> using namespace std; /* 以下各个函数名字一样,但参数个数或类型不一样*/ int max(int x,int y) // max():返回2个整数中的大数 { return(x>y ? x:y); } int max(int x,int y,int z)// max():返回3个整数中的大数 { int temp=max(x,y); return(temp>z ? temp:z); } double max(double x,double y)// max():返回2个双精度数中的最大数 { return(x>y ? x:y); } double max(double x,double y,double z)// max():返回3个双精度数中的最大数 { double temp=max(x,y); return(temp>z ? temp:z); } char max(char x,char y) // max():返回2个字符数中的最大数 { return(x>y ? x:y); } int max(char x,char y,char z) // max():返回3个字符数中的最大数 { int temp=max(x,y); return(temp>z ? temp:z); } int main() { cout<<"max(3,5)="<<max(3,5)<<endl; cout<<"max(4,5,8)="<<max(4,5,8)<<endl; cout<<"max(3.1,5.6)="<<max(3.1,5.6)<<endl; cout<<"max(15.3,13.4,27.8)="<<max(15.3,13.4,27.8)<<endl; cout<<"max('a','b')="<<max('a','b')<<endl; cout<<"max('d','e','h')="<<max('d','e','h')<<endl; system("pause"); return 0; }
请参照课本P29-31页面相关内容。
请思考如下几个问题:
1.重载有什么好处?
2.什么时候会出现重载的二义性错误?
3.自己定一个程序,定义几个重载函数程序。
相关文章推荐
- 信管14:虚函数示例代码二
- 信管14:静态成员函数示例
- 信管14:函数模板作业8-15示例
- 信管14:虚函数示例代码一
- 信管14:运算符重载示例一
- 信管14:c++:定义对象示例:学生类
- 信管14:构造函数析构函数执行顺序示例
- 信管14:纯虚函数示例代码
- 信管14:函数模板引例
- 信管14:友元函数示例
- C++中const用于函数重载的示例代码
- 信管14:运算符重载示例三
- 信管14:多重继承示例一
- 信管14:运算符重载示例四
- 信管14:对象成员示例
- 信管14:运算符重载示例五
- 信管14:对象的成员访问示例
- c++ 函数重载示例程序
- 信管14:对象数组、指针示例分析例程
- 信管14:运算符重载作业7-9示例