版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、一、 填空题 (每空 1 分,共 14 分)1、观看以下程序:class pointpublic:void show() cout” point ” endl 。 。void main()point p1 。point *p 。p=&p1。_ p1.show() _/ 通过对象 p1 访问 show 函数_p.show() _/ 通过指针 p 访问 show 函数2、 在 C+类中可以包含 公共、保护_和私有三种具有不同访问控制 权的成员。3、 定义类时,在类头中将使用关键字_class_ 来表示类定义的开始。4、 如果一个类中至少有一个纯虚函数,则该类称为 _ 抽象类 _。5、 C+
2、类的组成包括数据成员和 _ 成员函数_ ,友元是(是、不是)该类的成员函数。6、 友员函数是用关键字 _ friend_ 修饰的非成员函数。7、 若有:int i 。int &j=i 。i=10 。j=i+1 。则 i=_ 11_ , j=_11_ 。8、new 的功能是 _分配内存空间 _ , delete 的功能是 _释放内存空间 _ 。二、 选择题 (每小题 1.5 分,共 30 分)1、 下列特性中不是面向对象程序设计语言所特有的是(D )。(A)数据封装(B)继承(C)多态性(D)模板2、( B )是给变量取一个别名,它引入了变量的同意词。(A)指针(B)引用(C)枚举(D)
3、结构3、类成员的访问权限中,()只能被本类的成员函数和其友元函数访问。(B)面向对象(0 安全性其隐含访问权限为()。B. protectedD. static9、 下面有关重载函数的说法中正确的是()(A)重载函数必须具有不同的返回值类型;(B)重载函数形参个数必须不同;(C)重载函数必须有不同的形参列表 (D)重载函数名可以不同;10、 有如下的对类“ CSample 的说明,其中()是错误的。class CSample A. int a=23。B. CSample()。public:C. CSample(int val)。D. CSample()。11、 在 int a=3,int *p
4、=&a;中,*p 的值是()A.变量 a 的地址值B.无意义C.变量 p 的地址值D.312、每个类()构造函数。(A)只能有一个(B)只可有公有的(A) share ( B) public( C) private4、关于构造函数,下列说法不正确的是(构造函数名字和类名相同(A)(B)构造函数在创建对象时自动执行(C) 构造函数无任何函数返回类型(D)protected)。(D)5、派生类可以访问其基类的(A)公有成员(C)私有派生6、下列关于运算符重载的描述中,错误的是(运算符重载不可以改变操作数的个数运算符重载不可以改变运算符的功能运算符重载不可以改变结合方向 运算符重载不可以改变
5、运算优先级构造函数有且只有一个(A)(B)(C)(D)7、C+语言是从早期的)。(B)(D)。保护成员公有和保护成员C 语言逐渐发展演变而来的C 语言相比,它在求解冋题方法上进行的最大改进是()(A)面向过程&对于类中定义的成员,A . publicC . private(D)复用性(C)可以有多个(D)只可有缺省的13、在一个类中可以对一个操作符进行( )重载。(A) 1 种(B) 2 种以下(C) 3 种以下(D)多种14、在公有继承的情况下,基类非私有成员在派生类中的访问权限()(A 受限制(B)保持不变(C)受保护(D)不受保护15、应在下列程序划线处填入的正确语句是()#in
6、 elude classBasepublic:voidfun()coutBase:funENDL。classDerived:publicBasevoidfu n()_ /显示调用基类的函数fun()coutDerived:fu nfun()。16、执行下面的程序将输出()#in clude class BASEchar c。public:BASE(char n):c( n)virtual BASE()coutc。class DERIVED:public BASEchar c。public:DERIVED(char n):BASE( n+1),c( n)DERIVED()coutc 。int m
7、ai n()DERIVED a(X)。return 0。(A) XY(B) YX(C) X17、下面描述中,表达错误的是()(A)公有继承时基类中的public 成员在派生类中仍是public的(B)公有继承是基类中的private 成员在派生类中仍是private的(C)公有继承时基类中的protected 成员在派生类中仍是protected 的(D)私有继承时基类中的public 成员在派生类中是private 的18、定义析构函数时,应该注意( )(A)其名与类名完全相同(B)返回类型是 void 类型(C)无形参,也不可重载(D)函数体中必须有delete 语句19、 对于在类中定义
8、的静态数据成员,下面正确的说法是()A. 该类的每个对象中都有一个静态数据成员B. 对象创建时产生C. 在类外进行初始化D. 既可以在类外初始化,也可以在类内初始化20、C+冲声明常量的关键字是()。A. const B. exter n C. public D. enum三、改错题(每处 2 分,共 6 分)1、使用 VC6 打开考生文件夹下的工程proj1,此工程包含一个源程序文件main.cpp,但该程序运行有问题,请改正 main 函数中的错误,使程序的输出结果为:member=0member=5men ber=10源程序文件 main.cpp 清单如下:#in clude class
9、 MyClasspublic:MyClass(inti)member=i 。void SetMember(int m)member=m intGetMember()constreturnmenber。voidprint()contcoutmember=MEMBERENDL。(D) Yprivate:intmembe。 voed main()MyClass obj1。/ 更正obj1.pri nt()。MyClass obj2(3)。obj1.member=5。/ 更正MyClass.SetMember(IO) / 更正_objl.pri nt()obj2.pri nt()四、写出下列程序的执行
10、结果(每小题 5 分,共 20 分)1、#in cludeclass Sample int n 。public:Sample(int i)n=i。friend int add(Sample &s1,Sample & s2)。int add(Sample & s1,Sample & s2)retur n s1. n+s2 .n。void mai n()Sample s1(10),s2(20)。coutadd(s1,s2)e ndl 。执行结果是:2、#in cludeint add(int x,int y)return x+y+1 。double add(doub
11、le x,double y)return x+y-1 。void main()int a=2,b=4 。double c=2.6,d=7.4 。coutadd(a,b),add(c,d)endl执行结果是:3、#include class Apublic:int n 。class B:virtual public A class C:virtual public A class D:public B,public Cint getn()return B:n。 。void main()D d。d.B:n=10 。d.C:n=20 。coutd.B:n,d.C:nendl执行结果是:4、#incl
12、ude class myclassint a,b 。 static int s 。public:myclass(int x,int y)a=x。b=y。s+。void print()coutsshow() ( 2)公有、私有、保护 (3) class ( 4)抽象类( 5)成员函数、不是(6) friend (7) 11、 11 ( 8)动态申请内存空间、释放由new申请的空间二、选择题 (每小题 1.5 分,共 30 分)1、D 2、B 3 、C 4、D 5、D 6、B三、改错题 (每错 2 分,共 6 分 ) MyClassobj1(0) 。 obj1.SetMember(5) 。四、 写
13、出下列程序的执行结果 (每小题 5 分,共 20 分)(1)30 (5 分)(2)7 9 (每个 2.5 分)(3) 20 20 (每个 2.5 分)(4)3(2 分)3(2 分)3(1 分)五、编程题 (每题 10 分、共 30 分)1、#include #include class rectangle /(2 分 )private:int x1,y1,x2,y2 。 / (2 分 ) public:rectangle(int xx1,int yy1,int xx2,int yy2) /(1 分 )7 、B 8 、C 9 、C 10、A 11、D 12、C13、D14、B 15 、C 16、
14、A 17、B 18、C 19、C 20、 Aobj2.SetMember(10) 。x1=xx1 。 y 仁 yy1 。 x2=xx2。 y2=yy2。int getarea() /(2 分 )return abs(x2-x1)*(y1-y2) 。void main()rectangle rect1(3,7,8,5) 。 (2 分) coutrect1.getarea()endl 。 (1 分 )2、(10 分) #include class car( 1 分) class boat private:int weight 。 /(1 分 )public:boat(int w):weight(w
15、) /(1分)friend int totalweight(boat b1,car c1) 。/(2 分)。class car /(1 分)private:int weight 。 (1 分 ) public:car(int w):weight(w) 。friend int totalweight(boat b1,car c1) 。 (1 分) 。int totalweight(boat b1,car c1) /(1 分)return b1.weight+c1.weight 。void main()car c1(1000) 。 boat b1(2000) 。 couttotalweight(b
16、1,c1)endl 。(1 分)3、(10 分)#includeclass vehicle / 定义汽车类 (3 分 )protected:int wheels 。 / 车轮数float weight 。 / 重量public:vehicle(int wheels,float weight) 。int get_wheels() 。float get_weight() 。float wheel_load() 。void show() 。class car:public vehicle / 定义小车类 (3 分 )int passenger_load。 / 载人数public:car(int wh
17、eels,float weight,int passengers=4) 。int get_passengers()。 void show() 。vehicle:vehicle(int wheels1,float weight1) /(1 分 )wheels=wheels1。 weight=weight1 。int vehicle:get_wheels()return wheels 。float vehicle:get_weight()return weight 。void vehicle:show() (1 分 )cout 车轮 : wheels 个 endl 。 cout 重量: weight 公斤 endl。car:car(int wheels, float weight, int passenger
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高空考古挖掘服务合同
- 联排别墅酒店租赁合同范本
- 高速公路土方施工合同范本
- 花卉市场租赁合同水电费
- 电力工程改造合同范本
- 小学节能改造施工合同
- 冶金工程中标合作协议
- 矿山设备厂房施工合同
- 演出票务租赁合同
- 古城墙遗址修复工程合同
- 高速公路路牌广告合同范文(3篇)
- 上海市浦东惠南学区2024-2025学年九年级12月月考语文试题及答案
- 湖北省黄冈市2023-2024学年高二上学期期末调研考试 地理 含解析
- 抵制心理暴力与骚扰管理规定
- 银行业专业人员职业资格初级(公司信贷)模拟试卷68
- 金融理论与政策(华南农业大学)-中国大学MOOC答案2023版
- 《全科医学概论》课件-以家庭为单位的健康照顾
- 2024商场承包合同
- 月光德彪西原版五线谱钢琴谱正谱乐谱
- 先天性心脏病封堵术护理
- 三级安全教育试题(公司级、部门级、班组级)
评论
0/150
提交评论