版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、、判断题(15 分)(对的打,错的打X)1. 友元函数用于允许一个函数访问不 相关类的私有部分。2. 构造函数可以被继承。3. 动态绑定的多态性是通过虚函数实 现的。4. 在C+中,传引用调用等同于传地 址调用。5. 重载函数必须有不同的参数列表。6. 可以用delete释放不是用new运算 符分配的内存。7. 类成员的默认访问模式是private。8. 在类Time中的析构函数可以声明 为:void Time(int);9. con st对象必须初始化。10. 在C+中,只能重载已有的运算符。二、选择题(20分)1. 关键字 说明对象或变量初始化后不会被修改。a. static b. pub
2、lic c. const d. in li ne2. 如果调用带有默认参数的函数时缺少一个参数,则参数就作为这一参数。a.第一个 b.最后一个c.中间一个d.以上都不是3.成员函数可声明为静态的,条件是它不访问类成员。a.静态b.常数c.非静态d.公共4.内联函数执行起来比标准函数从 int 至U float d.从 float 至U int7. 表达式Iong(intVar)也可表示为a. in tvar = long; b.in tVar(lo ng)c. (long)intVard.以上都不是8. 静态数据成员的生存期a.与整个程序相同 b.不长于类 的生存期c. 取决于创建的对象数d.
3、以上都不是9. 要让一个类中的所有对象具有共同的数据,请使用。b.私有数据成a.常数成员变量员c.静态数据成员d.以上都是10.设置虚基类的目的是:a.简化程序b.消除二义性c.提高运行效率d.减少目标代码三、指出下列程序片段中的错误标号,写 出正确语句或解释错在何处。(20分)1) int in dex=675; const int *ptr= &in dex; int *const n tptr= &in dex; *ptr=555; 勺 tptr=666; int ano ther=8; ptr=&ano ther; n tptr =&ano ther;2) int arrp;第7页共5
4、页 arrp=new in t15;a.更慢 b.更快 c.次数更多d.以上都不是5. 默认参数的值由 提供。a.该函数 b.调用程序c.上述二者 d.以上都不是6. 在C+ 中,混合类型表达式 delete arrp;3)下面程序为什么会编译错误,并改正错 误(提出解决办法)。a.允许存在b.为一错误 c.class win dowprotected:int basedata; ;class border: public win dow ;;double coun t(A & a)class menu: public wi ndow ;a.total+=a.rate*a.total;clas
5、sborder_a nd_me nu: publicreturn a.total;border, public menuint main( void)public:int show()A x(80,0.5),y(100,0.2); retur n basedata;4)改正下面程序段中的错误,写出整个正coutco un t(x),co un t(y)ncoutco un t(x)n: return 0;执行结果:确的程序段template2)void print(T *a)#in clude coutvavvn;using n amespace std;void mai n()class C
6、ountprivate:const int x=0;static in t coun ter;coutvvyvv nin t obj_id;int y;public:x=5;Coun t(); /con structorint* pstatic void display_total(); /staticp=&y;fun ctio nprin t(p);void display();return 0;四、写出下面程序的执行结果:(15分)Count(); /destructorint Count:counter; /definition of static data member1) #incl
7、ude Coun t:Co un t() /c on structorusing n amespace std;class Acoun ter+;friend double count(A&);obj_id = coun ter;public:A(double t, double r):total(t),rate(r)Coun t:Co un t() /destructorprivate:double total;coun ter-;double rate;coutObject nu mber obj id beingdestroyedn;void Coun t:display_total()
8、 /static functionricout Number of objects created is co un tere ndl;void Coun t:display()ricout Object ID is obj_ide ndl;nt main( void)riCou nt a1;Coun t:display_total();Count a2, a3,a4;Coun t:display_total();a2.display();a4.display();return 0;3) #include using n amespace std;class BASErichar c;publ
9、ic:BASE(char n):c( n) virtual BASE()coutc;class DERIVED:public BASEchar c;public:DERIVED(char n):BASE( n+1),c( n) DERIVED()coutc;nt main( void) DERIVED(X);return 0;五、程序填空:(10分)#in clude using n amespace std;class A (1) char n ame80;public:A( ( 2) ) (3);class B (4) public:B(constchar*n)( 5 )voidPrin
10、tName()cout ”ame:”nameendl;void mai n()B b1( Ling Li ”b1.Pri ntName(); /执行结果:n ame: Ling Li六、编程题(20分)1 编写程序:定义抽象基类Shape,由它派 生出五个派生类:Circle (圆形)、Square (正 方形)、Rectangle (长方形)、Trapezoid (梯形)和Triangle(三角形),用虚函数分别计算各种图形的面积,并求出它们的和。要求用基类指针数组。使它的每一个元素指向一个 派生类的对象。注:主函数中定义如下对象Circle circle(12.6);Square squa
11、re(3.5);Rectangle rectangle(4.5,8.4);Trapezoid trapezoid(2.0,4.5,3.2);Triangle triangle(4.5,8.4);杭州电子科技大学学生考试卷(A)答案class menu: virtual public window ;4) 整个正确的程序段(参考):#in clude 加本句template / 力口 type name void print(T *a)coutan;void mai n() int y=10;/y应先声明后使用,并给初值const int x=0;coutyn:x=5;x为con st,去掉该句
12、int* p;p=&y;prin t(p);/ return 0; ma in返回为void ,去掉该句 四、写出下面程序的执行结果:(15分)1)、判断题(15 分)1)V2) X 3)V4)X 5) V6)X7) V 8) X9)V10) V、选择题(20分)1)c 2) b3)c4)b5) c6)a7) c 8) a 9) c10) b三、指出下列程序片段中的错误,并解释 错在何处。(20分)1) *ptr=555;ptr是指向整数常量的指 针ntptr =&another;ntptr 是常量指针,不能指向别的的变量120,1201802)IMiimJber of objects NuL
13、mbei* of objects Object ID is 2 Object ID is 4cteated cieated _isObject nuintbei 4 be ing- Object numhe严 3 beingObject nunbcr- 2 bein# Object numbei* 1 be ins _ISdestroyeddestroyed3)XY2) int arrp; 应改为:int *arrp; delete arrp; 应改为: delete arrp;3) return basedata;/ 在border_and_menu 中引用 basedata 时 产生二义性
14、,应使用虚基类应改为:class border:virtual public window ;五、 程序填空:(10分)(1)protected:或 public( 2)const char*n (3)strcpy(name,n);(4): public A 或:protected A( 5):A(n)六、编程题(20分1.#in clude using n amespace std;class Shapepublic:virtual double area() const =0;;class Trian gle:public Shapepublic:Trian gle(doublew,dou
15、bleclass Circle:public Shapeh):width(w),height(h)public:virtual double area() constreturnCircle(double r):radius(r)0.5*width*height;virtual double area()constreturnprotected:3.14159*radius*radius;double width,height;protected:;double radius;int mai n()class Square:public ShapeCircle circle(12.6);pub
16、lic:Square square(3.5);Square(double s):side(s)Rectangle rectangle(4.5,8.4);virtual double area()constreturnTrapezoid trapezoid(2.0,4.5,3.2);side*side;Triangle triangle(4.5,8.4);protected:Shapedouble side;*pt5=&circle, &square,&recta ngle, &trapez;oid, &tria ngle;double areas=0.0;class Recta ngle:public Shapefor(int i=0;iarea();Recta ngle(doublew,doublecouttotol of all areas=arease ndl;h):width(w),height(h)return 0;vi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 辽宁省2025秋九年级英语全册Unit4Iusedtobeafraidofthedark课时6SectionB(3a-SelfCheck)课件新版人教新目标版
- 2025年CH自动监测仪项目发展计划
- 2025年外转子风机合作协议书
- 2025年数控低速走丝电火花线切割机合作协议书
- 2025年数字仿真计算机项目建议书
- 2025年豆腐及豆制品工业化生产设备项目合作计划书
- 严重子痫前期的并发症预防
- 护理随访中的风险识别与防范
- 精神护理沟通技巧与实践
- 员工培训课件共享问题
- 中国血液吸附急诊专家共识(2025年)
- 快递企业安全生产应急预案
- 中国软件行业协会:2025中国软件行业基准数据报告 SSM-BK-202509
- 应急预案演练记录表(火灾+触电)
- 喷浆护坡施工方案
- 车床大修施工方案
- 河道保洁员安全培训课件
- 连云港疫情管理办法
- 银行跨境人民币业务课件
- 大连东软信息学院《Python数据采集与处理课程实验》2024-2025学年第一学期期末试卷
- 不认定为安全生产事故的依据
评论
0/150
提交评论