《杭州电子科技大学C++面向对象程序设计_期末考试试题(A)卷.pdf》由会员分享,可在线阅读,更多相关《杭州电子科技大学C++面向对象程序设计_期末考试试题(A)卷.pdf(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 第 1 页 共 5 页 杭州电子科技大学学生考试卷(A)卷 一、判断题(15 分)(对的打,错的打)1.友元函数用于允许一个函数访问不相关类的私有部分。T 2.构造函数可以被继承。3.动态绑定的多态性是通过虚函数实现的。T 4.在+中,传引用调用等同于传地址调用。F 5.重载函数必须有不同的参数列表。T 6.可以用 delete 释放不是用 nw 运算符分配的内存。7.类成员的默认访问模式是 pieT 8.在类me 中的析构函数可以声明为:void ime(in);9.const 对象必须初始化。T 10.在 c+中,只能重载已有的运算符。T 二、选择题(20 分).关键字 _C_ 说明对象
2、或变量初始化后不会被修改.a.sttic b。puli t d。inn 2。如果调用带有默认参数的函数时缺少一个参数,则_参数就作为这一参数。a 第一个 b。最后一个 c。中间一个 d.以上都不是。成员函数可声明为静态的,条件是它不访问 _C_类成员。静态 b.常数 c。非静态 d.公共 4。内联函数执行起来比标准函数_.。更慢 b.更快 c 次数更多 d。以上都不是 5.默认参数的值由_C_提供.a。该函数 b.调用程序 c。上述二者 d。以上都不是 6.在 C+中,混合类型表达式_。a。允许存在 b。为一错误 c。从 int 到 float 。从 ft 到 in 7。表达式 ln(tar)
3、也可表示为 _C_。itar=ng;b。itV(ln).(long)ina d 以上都不是 8.静态数据成员的生存期_。a。与整个程序相同 b.不长于类的生存期 c。取决于创建的对象数 d。以上都不是 9。要让一个类中的所有对象具有共同的数据,请使用_C_ a.常数成员变量 b。私有数据成员 c.静态数据成员 d。以上都是 1.设置虚基类的目的是:B a。简化程序 b.消除二义性 。提高运行效率 d。减少目标代码 三、指出下列程序片段中的错误标号,写出正确语句或解释错在何处.(2分)1)int ind67;cont it*ptrindx;i*cn ntptr=&nde;*pt=5;nttr66
4、6;t aother;pr=&anter;nttr&another;2)nt arp;arp=ne int15;deete arrp;3)下面程序为什么会编译错误,并改正错误(提出解决办法)。class wnow reced:int basedta;;ls border:ublic id ;las men:publ wiow ;class borderandmeu:pulc borde,pbc mnu pblic:int how()retr bsedata;4)改正下面程序段中的错误,写出整个正确的程序段 temlte vod prin(T*)考试课程 面向对象程序设计 考试日期 6 年 6
5、月 日 成绩 课 程 号 B10210 教 师 号 任课教师姓名 楼永坚 考生姓名 学号(8 位)年级 05 专业 002/座位号 第 2 页 共 5 页 cout;oid ain()onst int x=;coy uing namsace sd;las A friend ouble count(A&);ubic:(dube t,ouble):tta(t),ae(r)prvate:double total;oble rate;dobe coun(&a)a。l+are*aotal;return a。toal;n main(void)A x(80,05),y(100,0。2);co cunt(x)
6、,cont(y)n;out cout(x);retur 0;执行结果:2)#inludeistrm usng amespe s;class Cout private:ac it cote;it jid;ubl:Count();/contruct static voi splay_toal();/tati funcio vid dipa();Cout();/stuto ;nt Count:counte;/efiniion o statc data memer Coun:Cunt()/nsructor une+;obj_i cor;Count::Cn()/desuctr conter;cu”bjc
7、 nube”ji ig dtroyedn”;i Count:splytal()/statc unction cout”umber o obecs crate s=”coute end;vod Cont:dsply()cut ”Oect ID is”obj_idend;in main(oi)Cot a1;ont:diplytota();Cou 2,a3,4;Cnt:displaytotal();a2。display();4。dsly();第 3 页 共 5 页 rtu 0;)#nclud uing nmespace sd;clas BS car;publc:BASE(car):c(n)vtul
8、BASE()cot c;;cas DEI:lc ASE char c;public:DEIE(char n):BASE(n),c(n)DEIVED()cout;;t min(vod)DERIVED();etrn;五、程序填空:(10 分)#include sig naspae std;class A _)1(_har nme80;public:A(_()_ )_(3)_ ;lass B_()_ publi:B(cost char*n)_(5)_ vod PrinNme()cout”name:me endl;;voi ain()B b1(“Lg Li”);b1.rintName();/执行结果:
9、ame:ng Li 六、编程题(20 分)编写程序:定义抽象基类 Shape,由它派生出五个派生类:Cile(圆形)、ae(正方形)、Rctngl(长方形)、rezid(梯形)和riangle(三角形),用虚函数分别计算各种图形的面积,并求出它们的和。要求用基类指针数组使它的每一个元素指向一个派生类的对象。注:主函数中定义如下对象 Circle circe(1。6);quare qae(3。);Rec rctangle(4。5,8.4);Traeoi treod(2。,4。5,.2);Triale tiange(4。5,。4);杭州电子科技大学学生考试卷(A)答案 一、判断题(15 分)2)3
10、)4)5)6)7)8)9)10)二、选择题(20 分)1)c )3)c 4)b 5)6)a 7)8)9)c 10)三、指出下列程序片段中的错误,并解释错在何处。(20 分)1)*pt=55;ptr 是指向整数常量的指针 ntptr=&ater;tr 是常量指针,不能指向别的的变量 2)int arrp;应改为:int*rrp;dlee rrp;应改为:dlte arrp;3)retur badata;/在 border_and_men中引用 baseata 时产生二义性,应使用虚基类 应改为:class boer:virta pblc window ;cls mu:vrtua public w
11、inow 考试课程 面向对象程序设计 考试日期 06 年 6 月 日 成绩 课 程 号 B12100 教 师 号 任课教师姓名 楼永坚 考生姓名 学号(8位)年级 05 专业 05011/3 座位号 第 4 页 共 5 页 ;4)整个正确的程序段(参考):#include /加 tyname vo rnt(*a)cu a;void ain()in 0;/应先声明后使用,并给初值 cnst int x=;coty n;/x=;x 为 const,去掉该句 n*p;p=&y;rit(p);/rtrn;main 返回为oid,去掉该句 四、写出下面程序的执行结果:(5 分)1)2)XY 五、程序填空
12、:(10 分)(1)potectd:或 public (2)const char n (3)stry(ne,n);(4):public A 或:prected ():(n)六、编程题(20 分)1#include iostea sing naespace s;cass Shpe ublic:irtu duble aea()st 0;cla Circe:ulic Shape pubic:Cirle(double r):radius(r)virtal oub are()cont rn.1159*adiu*radus;;rotece:doube radis;;cla uae:publi Shap p
13、bli:qur(ouble):id(s)irtual dol are()const retun sideside;prtecte:double ide;;cas Renle:public Sap pubic:Recangle(obl,dble):wi(w),hht(h)virtual dob area()cnst return width*gt;rotece:double wt,heg;;class Trapzoid:ublic Sae ulic:Trapezoid(double t,double b,doble):op(),bto(),hight(h)vrtal dub area()onst
14、 reurn 0.5*(top+boom)ht;roected:double to,botm,eg;;cas ianle:pulic Shae public:Trinle(dubl,uble):wdh(w),e(h)virtual dobe ara()cont retur 0。5*widthheight;rotete:doble widh,heigh;;it ai()ircle ircle(12.6);qur squre(3。);ctange ectng(5,8。4);Trapezoid tapezoid(20,4。5,3.);riagl trie(4。,。4);Shap*tcirl,&squre,ctangl,raezoid,&tiangl;doube ares=0。0;for(int=0;i;)第 5 页 共 5 页 aras=ars+ptar();cot toto o al aeas=aes el;tur 0;