预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共176页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

C++面向对象程序设计教程一、选择题2.关于函数重载,下列叙述中错误的是。A)重载函数的函数名必须相同B)重载函数必须在参数个数或类型上有所不同C)重载函数的返回值类型必须相同D)重载函数的函数体可以有所不同解析:函数重载是用同一个函数名字在不同的参数类型或参数个数上做类似的操作方作,它们的实现方法可以不同。所以说,重载函数的函数名必须相同,函数体可以有所不同。函数重载必须在参数类型或参数个数上不一样,不能依靠返回值不一样来区分重载函数。答案:C3.有以下程序:voidFun(inti,intj){cout<<i+j<<endl;//输出i+j}voidFun(inti){cout<<i++<<endl;//输出i++}intmain()//主函数main(){inta=1;//定义变量iFun(a);//调用Fun()return0;//返回值0,返回操作系统}该程序执行后输出的结果是。A)1B)2C)3D)4解析:由于主函数中调用的Fun()函数只有一个参数,故执行的是voidFun(inti)的版本,执行“cout<<i++<<endl;”时,由于是后缀“++”,所以先输出i的值1,再使i加1。答案:A二、编程题*2.编一个程序,用一个函数实现求n个整型数据的最小值。函数原型如下:intMin(inta[],intn)参考程序:#include<iostream>//编译预处理命令usingnamespacestd;//使用命名空间stdintMin(inta[],intn)//求n个整型数据的最小值{intm=a[0],i;//临时变量for(i=1;i<n;i++){//依次比较求最小值if(a[i]<m){//如果a[i]更小m=a[i];//a[i]为当前最小值}}returnm;//返回最小值}intmain()//主函数main(){inta[]={1,2,3,4,5,6,7,8,9,-10},n=10;cout<<"最小值为"<<Min(a,n)<<endl;//输出最小值system("PAUSE");//调用库函数system(),输出提示信息return0;//返回值,返回操作系统}3.求2个数或3个整数中的最大数,用两个同名函数实现,要求编写测试程序。参考程序:#include<iostream>//编译预处理命令usingnamespacestd;//使用命名空间stdintMax(intx,inty)//求x,y的最大值{returnx>y?x:y;//返回x,y的最大值}intMax(intx,inty,intz)//求x,y,z的最大值{intm=x>y?x:y;//x,y的最大值m=m>z?m:z;//m,z的最大值returnm;//返回x,y,z的最大值}intmain()//主函数main(){cout<<"2,3的最大值为"<<Max(2,3)<<endl;cout<<"1,6,8的最大值为"<<Max(1,6,8)<<endl;system("PAUSE");//调用库函数system(),输出提示信息return0;//返回值,返回操作系统}4.用变量的引用作函数形参,实现交换两个整型变量,要求编写测试程序。参考程序:#include<iostream>//编译预处理命令usingnamespacestd;//使用命名空间stdvoidSwap(int&x,int&y)//交换x,y的值{intt=x;x=y;y=t;//循环赋值交换x,y的值}intmain()//主函数main(){intx=1,y=6;cout<<"交换前:"<<x<<","<<y<<endl;Swap(x,y);cout<<"交换后:"<<x<<","<<y<<endl;system("PAUSE");//调用库函数system(),输出系统提示信息return0;//返回值,返回操作系统}*5.编一个程序,用同一个函数名对n个数据进行从小到大排序,数据类型可以是整型、单精度实型、双精度实型,用重载函数实现。参考程序:#include<iostream>//编译预处理命令usingnamespacestd;//使用命名空间stdvoidSort(inta[],intn)//对a[0]...a[n-1]进行排序{inttem,i,j;//定义变量for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(a[i]>a[j]){//a[i]比a[j]更大tem=a[i];a[i]=a[j];a[j]=tem;}}……*5.编一个程序,用同一个函数名对n个数据进行从小到大排序,数据类型可以是整型、单精度实型、双精度实型,用重载函数实现。参考程序:……voidSort(floata[],int