




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
山东财政学院20092010学年第二学期期末考试C+面向对象程序设计试卷(A )(考试时间为120分钟)学院_ 班级_ 姓名 学号_题 号一二三四五六七总 分得 分阅卷人合分人(答案一律答在答题纸上,答在试卷上无效)一、单项选择题 (每小题2分,共20分)1、C+中解决命名冲突的机制是:( )(A)虚基类(B)虚函数(C)函数重载(D)命名空间2、在一个类中,下列哪些成员可以是多个?( )(A)无参构造函数(B)析构函数 (C)原型相同的非静态成员函数(D)静态成员函数3、若类A的一个对象所占的内存空间中包含虚函数表的入口地址,则:( )(A)类A不能有静态数据成员(B)类A中公有的成员函数一定是虚的(C)类A中至少有一个成员函数是虚的(D)类A的析构函数一定是虚的4、下列选项中不是构造函数特征的是:( )(A)构造函数的函数名与类名相同(B)构造函数可以重载(C)构造函数可以设置缺省参数(D)构造函数必须指定类型说明5、在类定义中,为说明成员的访问权限,private、protected、public可以出现次数为:( )(A)次数没有具体限定(B)每种至多一次(C) public 至少一次(D)每种至少一次6、下面关于访问类A的私有数据成员的说法,错误的是:( )(A)类A的友元函数可以访问类A的私有成员。 (B)类A的友元类中的非静态成员函数可以访问类A的私有成员。(C)类A的嵌套类中的非静态成员函数可以访问类A的私有成员。(D)类A中的非静态成员函数可以访问类A的私有成员。 7、下面关于类的成员函数描述不正确的是:( )(A)静态成员函数内可以直接访问类的非静态成员数据(B)静态成员函数内可以直接访问类的静态成员数据(C)非静态成员函数可以直接访问类的非静态成员数据(D)非静态成员函数可以直接访问类的静态成员数据8、已知类A中的一个成员函数说明如下:void set(A &a); 其中A &a的含义是:( )(A)将a的地址值赋给变量set (B) a是类A对象的引用,用来作函数set()的参数(C)变量A与a按位与作为函数set的参数 (D)指向类A的指针为a9、下列各种函数中,( )不是类的成员函数。(A)构造函数(B)析构函数(C)友元函数(D)拷贝构造函数10、下列哪种运算符可以被重载? ( )(A)sizeof(B):(C) ?:(D) 二、填空题(每空1.5分,共15分)1、要在屏幕上显示 Hello,world! 应执行语句cout_。2、在C+中,函数的参数有两种传递方式,它们是值传递和_。3、面向对象的程序设计有四大特征,它们是抽象、封装、_和_。4、在C+中,定义重载函数时,应至少使重载函数的参数个数或参数类型_;在基类和派生类中,成员函数的覆盖是指_。5、C+程序的编写和实现的5个步骤:用C+语言编写源程序、_、_、运行程序、分析运行结果。6、从系统实现的角度看,多态性分为两类:_、_。三、判断题(每小题1分,共10分)1、重载流操作符 时,如果第一个参数的类型为ostream 和istream,那么这个重载函数既可以用于标准输入输出流,也可以用于文件流上。 ( )2、在同一个类中,可以定义重载的成员函数 void f(int);和virtual void f(int); ( )3、抽象类不会产生实例,所以不需要有构造函数。 ( )4、类A有一个非静态的成员函数f,其函数原型是:void A:f( ) const,则该函数被调用时,一定是通过类A或类A的某后裔类的一个用const修饰符说明的常量对象调用的。 ( )5、在protected继承方式下,派生类对象的指针不能直接转换成指向基类对象的指针。 ( )6、在public继承方式下,基类中被说明为protected和private的成员只能被其派生类的成员函数访问不能被其他的函数访问。 ( )7、最先被调用的构造函数,其对应的(同一对象中的)析构函数最后被调用,而最后被调用的构造函数,其对应的析构函数最先被调用。 ( )8、指向常量的指针允许通过此指针修改其所指对象的值。 ( )9、C+不允许用户自己定义新的运算符,只能对已有的C+运算符进行重载。 ( )10、对于公用继承基类的公用成员和保护成员在派生类中保持原有访问属性,其私有成员仍为基类私有。 ( )四、读程序写结果(每小题5分,共15分)1、#include using namespace std;int main()int a,b,c;a = 10;b = 23;c = a + b;cout a + b = ;cout c;cout endl;return 0;运行结果为: 2、#include using namespace std;class Datepublic:Date(int, int, int);Date(int, int);Date(int);Date();void display();private:int month;int day;int year;Date:Date(int m, int d, int y) : month(m), day(d), year(y) Date:Date(int m, int d) : month(m), day(d) year = 2010;Date:Date(int m) : month(m)day = 1;year = 2010;Date:Date()month = 1;day = 1;year = 2010;void Date:display()cout month / day / year endl;int main()Date d1(10, 13, 2010);Date d2(12, 30);Date d3(10);Date d4;d1.display();d2.display();d3.display();return 0;运行结果为:3、#include using namespace std;class Studentpublic:void get_value()cin num name sex;void display()cout num: num endl;cout name: name endl;cout sex: sex age addr;void display_1()display();cout age: age endl;cout address: addr endl;private:int age;char addr30;int main()Student1 stud1;stud1.get_value_1();stud1.display_1();return 0;输入: 11 llpwgh m 30 山东财政学院输出结果为: 五、分析访问属性(10分)有以下程序结构,请分析访问属性。class A/A为基类public:void f1();int i;protected:void f2();int j;private:int k;class B : public A/B为A的公用派生类public:void f3();protected:int m;private:int n;class C : public B/C为B的公用派生类public:void f4();private:int p;int main()A a1;/a1是基类A的对象B b1;/b1是派生类B的对象C c1;/c1是派生类C的对象return 0;1、在main函数中能否用b1.i、b1.j和b1.k引用派生类B对象b1中基类A的成员?2、派生类B中的成员函数能否调用基类A中的成员函数f1和f2 ?3、派生类B中的成员函数能否引用基类A中的数据成员i、j、k?4、能否在main函数中用c1.i、c1.j、c1.k、c1.m、c1.n、c1.p引用基类A的成员i、j、k,派生类B的成员m、n,以及派生类C的成员p?5、能否在main函数中用c1.f1()、c1.f2()、c1.f3()和c1.f4()调用f1、f2、f3、f4成员函数?6、派生类C的成员函数f4能否调用基类A中的成员函数f1、f2和派生类中的成员函数f3?六、程序填空(每小题5分,共10分)1、#includeusing namespace std;void main()float a,b;_ ;/函数cha的原型声明a=12.5;b=6.5;float c=_ ;/调用函数chacoutcendl;float cha(float x,float y) /求两数的差值。 float w; _ _2、重载运算符“+”,使之能用于两个复数相加。#include using namespace std;class Complexpublic:Complex()real = 0; imag = 0;Complex(double r, double i) real = r, imag = i;Complex operator + (Complex &c2);/声明重装运算符+ 的函数void display();/声明输出复数的函数private:double real;double imag;_/定义重载运算符 + 的函数Complex c;_return c;void Complex:display()_ /定义输出复数的函数,输出形式为(实部,虚部i) 。例如:(3,4i)int main()Complex c1(3, 4), c2(5, -10), c3;c3 = c1 + c2;/运算符+ 用于复数运算cout c1 = ; c1.display();cout c2 = ; c2.display();cout c1 + c2 = ; c
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025黑龙江鸡西市社会治安综合治理中心招聘公益性岗位就业人员1人模拟试卷及答案详解(夺冠系列)
- 2025江苏常州市属事业单位引进高层次人才考前自测高频考点模拟试题及1套参考答案详解
- 2025广西临桂农村商业银行劳务派遣人员招聘4人模拟试卷及参考答案详解
- 2025年甘肃省武威市古浪县民权镇招聘大学生村文书考前自测高频考点模拟试题及一套参考答案详解
- 2025江苏师范大学招聘工作人员78人(第一批)模拟试卷及一套答案详解
- 2025昆明市网格化综合监督指挥中心官渡分中心招聘编外聘用人员(1人)模拟试卷及答案详解参考
- 2025湖北恩施州来凤县宏晟工业发展有限公司招聘3人考前自测高频考点模拟试题(含答案详解)
- 2025年上半年河北石家庄高新区公立医疗机构公开招聘劳务派遣工作人员4名考前自测高频考点模拟试题附答案详解(模拟题)
- 2025北京林业大学附属实验小学教师招聘1人模拟试卷及答案详解(网校专用)
- 2025内蒙古额尔古纳市第一中学人才引进(第二号)模拟试卷附答案详解(典型题)
- 物业员工培训及考核制度
- 2025年弘扬伟大抗战精神主题讲座课件【铭记历史 缅怀先烈】(含讲稿)
- 慢阻肺临床路径试题及答案
- 用户信息管理办法
- 800个产粮大县名单
- 集体荣誉-主题班会课件
- 2025年广西中考语文试题卷(含答案及解析)
- 透析室护理不良事件分析
- 【某酚醛污水处理厂的经济评估计算过程案例2100字】
- 2025年高考真题-物理(广西卷) 含答案
- 大模型备案-落实算法安全主体责任基本情况
评论
0/150
提交评论