欢迎来到天天文库
浏览记录
ID:35556664
大小:107.00 KB
页数:12页
时间:2019-03-28
《C+高级语言程序设计(二)试题及答案》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第1页(共12页)上海大学2004~2005学年冬季学期试卷(A卷)课程名:高级语言程序设计(二)学分:4(闭卷)参考答案学号:______姓名:_______院、系:_________题号一(20)二(20)三(15)四(30)五(15)得分一.填空题(每空1分,共20分)1.填空,使程序中的max()函数、函数模板返回参数中较大者,并指出运行结果。#include#includetemplate①Tmax(Tx,Ty){if(x>y)②retu
2、rnx;else③returny;}//为了使max()函数还能处理字符串的内容,重载该模板④char*max(char*x,char*y){if(⑤strcmp(x,y)>0)returnx;elsereturny;}voidmain(){cout<3、:⑥5⑦5.5⑧b⑨abcd⑩xyz成绩得分第2页(共12页)2.填空,完成如下的Point类模板。#include①templateclassPoint{②public:Point(Tx,Ty){③_x=x;④_y=y;}voidSetPoint(⑤Tx,⑥Ty){_x=x;_y=y;}voidDisplay(){cout<<”(”<<_x<<”,”<<_y<<”)”<a(4、-1,2);Pointb(1,2);Pointc(’a’,’b’);Pointd(3.5,5.5);a.Display();b.Display();c.Display();d.Display();}运行结果:⑦(-1,2)⑧(1,2)⑨(a,b)⑩(3.5,5.5)第3页(共12页)得分二.(共20分)完成类成员函数定义,并回答问题。#includeclassRMB{public:RMB(unsignedintx=0);//本函数5、定义为第1小题voidDisplay();//本函数定义为第2小题operatorunsignedint(){return100*yuan+10*jiao+fen;}//类型转换函数,可将RMB类型的对象转换成unsignedint类型数据friendostream&operator<<(ostream&oo,RMB&r){oo<6、intn=(unsignedint)r1+(unsignedint)r2;RMBresult(n);returnresult;}friendRMB&operator++(RMB&rmb){rmb.fen++;if(rmb.fen==10){rmb.jiao++;rmb.fen=0;}if(rmb.jiao==10){rmb.yuan++;rmb.jiao=0;}returnrmb;}friendRMBoperator++(RMB&rmb,int){RMBtemp=rmb;rmb.fen++;if(rmb.f7、en==10){rmb.jiao++;rmb.fen=0;}第4页(共12页)if(rmb.jiao==10){rmb.yuan++;rmb.jiao=0;}returntemp;}protected:unsignedintyuan,jiao,fen;};voidmain(){RMBrmb(12345);cout<8、为单位的整型量表示金额总数(如,“12345分”为“123元4角5分”),要求根据该形式参数正确地完成数据成员yuan(元),jiao(角),fen(分)的初始化。RMB::RMB(unsignedintx){yuan=x/100;jiao=x/10%10;fen=x%10;}(2)完成成员函数Display()的定义。voidRMB::Display(){cout<<*this;//或cout<
3、:⑥5⑦5.5⑧b⑨abcd⑩xyz成绩得分第2页(共12页)2.填空,完成如下的Point类模板。#include①templateclassPoint{②public:Point(Tx,Ty){③_x=x;④_y=y;}voidSetPoint(⑤Tx,⑥Ty){_x=x;_y=y;}voidDisplay(){cout<<”(”<<_x<<”,”<<_y<<”)”<a(
4、-1,2);Pointb(1,2);Pointc(’a’,’b’);Pointd(3.5,5.5);a.Display();b.Display();c.Display();d.Display();}运行结果:⑦(-1,2)⑧(1,2)⑨(a,b)⑩(3.5,5.5)第3页(共12页)得分二.(共20分)完成类成员函数定义,并回答问题。#includeclassRMB{public:RMB(unsignedintx=0);//本函数
5、定义为第1小题voidDisplay();//本函数定义为第2小题operatorunsignedint(){return100*yuan+10*jiao+fen;}//类型转换函数,可将RMB类型的对象转换成unsignedint类型数据friendostream&operator<<(ostream&oo,RMB&r){oo<6、intn=(unsignedint)r1+(unsignedint)r2;RMBresult(n);returnresult;}friendRMB&operator++(RMB&rmb){rmb.fen++;if(rmb.fen==10){rmb.jiao++;rmb.fen=0;}if(rmb.jiao==10){rmb.yuan++;rmb.jiao=0;}returnrmb;}friendRMBoperator++(RMB&rmb,int){RMBtemp=rmb;rmb.fen++;if(rmb.f7、en==10){rmb.jiao++;rmb.fen=0;}第4页(共12页)if(rmb.jiao==10){rmb.yuan++;rmb.jiao=0;}returntemp;}protected:unsignedintyuan,jiao,fen;};voidmain(){RMBrmb(12345);cout<8、为单位的整型量表示金额总数(如,“12345分”为“123元4角5分”),要求根据该形式参数正确地完成数据成员yuan(元),jiao(角),fen(分)的初始化。RMB::RMB(unsignedintx){yuan=x/100;jiao=x/10%10;fen=x%10;}(2)完成成员函数Display()的定义。voidRMB::Display(){cout<<*this;//或cout<
6、intn=(unsignedint)r1+(unsignedint)r2;RMBresult(n);returnresult;}friendRMB&operator++(RMB&rmb){rmb.fen++;if(rmb.fen==10){rmb.jiao++;rmb.fen=0;}if(rmb.jiao==10){rmb.yuan++;rmb.jiao=0;}returnrmb;}friendRMBoperator++(RMB&rmb,int){RMBtemp=rmb;rmb.fen++;if(rmb.f
7、en==10){rmb.jiao++;rmb.fen=0;}第4页(共12页)if(rmb.jiao==10){rmb.yuan++;rmb.jiao=0;}returntemp;}protected:unsignedintyuan,jiao,fen;};voidmain(){RMBrmb(12345);cout<8、为单位的整型量表示金额总数(如,“12345分”为“123元4角5分”),要求根据该形式参数正确地完成数据成员yuan(元),jiao(角),fen(分)的初始化。RMB::RMB(unsignedintx){yuan=x/100;jiao=x/10%10;fen=x%10;}(2)完成成员函数Display()的定义。voidRMB::Display(){cout<<*this;//或cout<
8、为单位的整型量表示金额总数(如,“12345分”为“123元4角5分”),要求根据该形式参数正确地完成数据成员yuan(元),jiao(角),fen(分)的初始化。RMB::RMB(unsignedintx){yuan=x/100;jiao=x/10%10;fen=x%10;}(2)完成成员函数Display()的定义。voidRMB::Display(){cout<<*this;//或cout<
此文档下载收益归作者所有