版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、华中科技大学研究生课程考试试卷课程名称:面向对象程序设计课程类别詈詈考核形式三贤专业牌闭卷学生类别考试日期2018年1月19日院系学号日生名任课教师杨卫东、左峥-一、填空(共15分,每空1分)1、编译时的多态性是通过来实现。2、面向对象的四个基本特性是>>f口。3、假定AB为一个类,则执行“Ca(2),&p=a,c1,*b=c;"语句时调用该类构造函数的次数为。4、C+谈成员访问属性?>:三种类型。5、非成员函数应声明为类的函数才能访问这个类的private成员。6、要实现动态联编,必须通过基类指针或来调用虚函数实现。7、在用class定义一个类时,数据成员
2、和成员函数的默认访问权限是。8、:、+、=四种运算符中,不可重载的运算符是,可采用友元函数重载的运算符是。9、成员函数中有的类不能用来实例化对象。二、问答题(共35分,每小题5分)1 .阐述为何在类的派生中要引入虚基类?2 .简述带虚基类和非虚基类的多继承派生类构造函数调用顺序。3 .写出下面程序的运行结果#include<iostream>#include<string.h>usingnamespacestd;classAcharstring80;public:voidshow();A(char*st);A();A:A(char*st)strcpy(string,st
3、);cout<<string<<"构造"<<endl;A:A()cout<<string<<"析构"<<endl;voidA:show()cout<<string<<endl;voidfun(char*st)cout<<"1fun内:"<<st<<endl;staticAfun_sta_Obj("2fun内静态对象fun_sta_Obj");Afun_Obj("3fun内自动
4、对象fun_Obj");Ag_glb_Obj("4外部对象g_glb_Obj");staticAg_sta_Obj("5外部静态对象g_sta_Obj");voidmain()A*ptrA=newA("6main内动态分配对象m_all_Obj");if(ptrA=NULL)return;cout<<"7main内调用fun函数"<<endl;fun("cal1");fun("cal2");deleteptrA;)4 .写出下面程序的输出结果
5、#include<iostream>usingnamespacestd;classApublic:virtualvoidPrint(inta) cout<<"A:P1"<<"a="<<a<<endl;virtualvoidPrint(floata,doubleb=2.8) cout<<"A:P2"<<"a="<<a<<",b="<<b<<endl;classB:pu
6、blicApublic:virtualvoidPrint(inta) cout<<"B:P1"<<"a="<<a<<endl;virtualvoidPrint(floata,floatb) cout<<"B:P2"<<"a="<<a<<",b="<<b<<endl;voidShow(A*p) ->Print(2);p->Print(2,1.9);voidmain()
7、A*pa=newA;B*pb=newB;Show(pa);Show(pb);deletepa;deletepb;5 .写出下面程序的输出结果#include<iostream>#include<string>usingnamespacestd;classOBJ1(public:OBJ1()cout<<"1-OBJ1类构造"<<endl;);classOBJ2public:OBJ2()cout<<"2-OBJ2类构造"<<endl;classBase1public:Base1()cou
8、t<<"3-Base1类构造"<<endl;classBase2:virtualpublicBase1public:Base2()cout<<"4-Base2类构造"<<endl;classBase3public:Base3()cout<<"5-Base3类构造"<<endl;classBase4public:Base4()cout<<"6-Base4类构造"<<endl;classDerivedA:publicBase
9、1,virtualpublicBase2,publicBase3,virtualpublicBase4public:DerivedA():Base4(),Base3(),Base2(),Base1(),obj2(),obj1()(cout<<"7-派生类构造成功"<<endl;)protected:OBJ1obj1;OBJ2obj2;Base1base1;Base2base2;);intmain(intargc,char*argv口)(DerivedAaa;cout<<"8-end"<<endl;retur
10、n0;)6 .以下程序代码是否有错,如有请改正并写出运行结果#include<iostream>usingnamespacestd;template<typenameT>classA(private:Tx,y,s;public:A(Ta,Tb)x=a,y=b;s=x+y;voidshow()cout<<"x+y="<<s<<endl;voidmain()Aadd(2.5,3.3);add.show();7 .以下程序可动态分配二维数组并释放内存,能实现二维指针和一维指针复用,试问程序有几处错,找出并说明原因改正之。
11、#include<iostream.h>#include<string.h>void*fspace_2d(introw,intcol,intlenth)(char*p=(char*)calloc(lenth,row*col);void*b=(void*)calloc(sizeof(void*),row);for(inti=0;i<row;i+)bi=(void*)(p+i*col*lenth);return(b);voidffree_2d(void*a,introw)(for(inti=0;i<row;i+)free(ai);free(a);voidmain
12、()(float*pArray2D=(float*)fspace_2d(r,c,sizeof(float);ffree_2d(void*)pArray2D,r);三、完成程序题(共15分,每小题5分)1.完成下面类中成员函数定义,实现圆括号“()”运算符重载#defineN3classA(intvalueNN;public:int&return;voidmain() ;inti,j;for(i=0;i<N;i+)for(j=0;j<N;j+)( =i+j;/矩阵元素赋值)for(i=0;i<N;i+)(cout<<"nArr"<&
13、lt;i<<"="for(j=0;j<N;j+)cout<<<<","/输出i行j列的元素值)cout<<"n")2.完成下面类中成员函数的定义,实现增量运算符重载classCounter(unsignedvalue;Counter()value=0;Counter&;/前置增量运算符函数。voidPrint();/输出value值;Counter&a.value+;/Counter类对象value值增1cout<<"调用前置增量运算符函数!n
14、"returna;/该函数的返回值是value值增1后的对象voidCounter:Print()staticinti=0;+i;cout<<"("<<i<<")对象的value值="<<value<<endl;)voidmain()(Counterc;for(inti=0;i<3;i+)+c;c.Print();)3.完成下面类中成员函数的定义。#include<iostream>#include<string>usingnamespacestd;(private:char*st;/字符串指针public: set(a);str&operator=()deletest;set(a.st);return*this;voidset()/初始化st;strcpy(st,s);字符
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024-2025学年医学检验(中级)试题预测试卷及完整答案详解【必刷】
- 2024-2025学年度电工自我提分评估(夺冠)附答案详解
- 2024-2025学年度注册公用设备工程师自我提分评估附答案详解【巩固】
- 2024-2025学年度电工全真模拟模拟题一套附答案详解
- 2024-2025学年度反射疗法师3级自我提分评估完整版附答案详解
- 2024-2025学年咨询工程师题库检测试题打印含答案详解【考试直接用】
- 2024-2025学年公务员考试《常识》模拟题库含答案详解【黄金题型】
- 2024-2025学年度江阴职业技术学院单招数学题库试题含答案详解【轻巧夺冠】
- 2024-2025学年园林绿化作业人员全真模拟模拟题带答案详解(培优)
- 2026中国银行秋招面试题及答案
- 隧道复工安全培训课件
- 2026年及未来5年中国婴幼儿奶粉行业发展监测及市场发展潜力预测报告
- 2026年及未来5年中国内河水运行业市场供需格局及投资规划建议报告
- 第18课 土壤湿度控制好 课件 2025-2026学年人教版信息科技六年级全一册
- 2025年佛山禅城语文校招笔试及答案
- 2026年甘肃省公信科技有限公司面向社会招聘80人(第一批)参考考试题库及答案解析
- 2026年上海市初三上学期语文一模试题汇编之现代文阅读试题和参考答案
- 《工业机器人现场编程》课件-任务4-工业机器人电机装配
- 2025年半导体行业薪酬报告-
- 2026年《必背60题》车辆工程专业26届考研复试高频面试题包含详细解答
- 履带式起重机培训课件
评论
0/150
提交评论