C++面向对象程序设计理论-复习参考题目_第1页
C++面向对象程序设计理论-复习参考题目_第2页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、填空题填空题(每空 1 分,共 14 分)1、观看以下程序:classpointpublic:voidshow()coutpointendl;;voidmain()pointpl;point*p;p 二&pl;/通过对象 pl 访问 show 函数/通过指针 p 访问 show 函数2、在 C+类中,可以包含、和三种具有不同访问控制权的成员。3、定义类时,在类头中将使用关键字_来表示类定义的开始。4、如果一个类中至少有一个纯虚函数,则该类称为。5、C+类的组成包括数据成员和,友元(是、不是)该类的成员函数。6、友员函数是用关键字修饰的非成员函数。7、若有:inti;int&j

2、二 i;i=10;j=i+1;则 i=,j=。8、new 的功能是,delete 的功能是。二、选择题(每小题二、选择题(每小题 1.51.5 分,共分,共 3030 分)分)1、下列特性中,不是面向对象程序设计语言所特有的是()(A)数据封装(B)继承性(C)多态性(D)模板2、()是给变量取一个别名,它引入了变量的同意词。(A)指针(B)引用(C)枚举(D)结构第 1 页一一题答不内线封密第 2 页3、类成员的访问权限中,()只能被本类的成员函数和其友元函数访问。(A) share(B)public(C)private(D)protected4、关于构造函数,下列说法不正确的是()。(A)

3、 构造函数名字和类名相同(B) 构造函数在创建对象时自动执行(C) 构造函数无任何函数返回类型(D) 构造函数有且只有一个5、派生类可以访问其基类的()(A)公有成员(B)保护成员(C)私有派生(D)公有和保护成员6、下列关于运算符重载的描述中,错误的是()(A) 运算符重载不可以改变操作数的个数(B) 运算符重载不可以改变运算符的功能(C) 运算符重载不可以改变结合方向(D) 运算符重载不可以改变运算优先级7、C+语言是从早期的 C 语言逐渐发展演变而来的。与 C 语言相比,它在求解问题方法上进行的最大改进是()(A)面向过程(B)面向对象(C)安全性(D)复用性8、对于类中定义的成员,其隐

4、含访问权限为()(B) protected(C) private(D)static9、下面有关重载函数的说法中正确的是(A)重载函数必须具有不同的返回值类型(C)重载函数必须有不同的形参列表10、有如下的对类“CSample”的说明,其中(classCSample(A) inta=23;(B) CSample();public:(C) CSample(intval);(D) CSample();11、在 inta=3,int*p=&a;中,*p 的值是(A)变量 a 的地址值(B)无意义(A)public(B)重载函数形参个数必须不同(D)重载函数名可以不同)是错误的。)。第 2 页(

5、C)变量 p 的地址值(D)312、每个类()构造函数。第4页(A)只能有一个(B)只可有公有的(C)可以有多个(D)只可有缺省的13、在一个类中可以对一个操作符进行()重载。(A)1 种(B)2 种以下(C)3 种以下(D)多种14、在公有继承的情况下,基类非私有成员在派生类中的访问权限()(A)受限制(B)保持不变(C)受保护(D)不受保护15、应在下列程序划线处填入的正确语句是()#includeiostream.hclassBasepublic:voidfun()coutBase:funENDL;classDerived:publicBasevoidfun()/显示调用基类的函数 fu

6、n()coutDerived:funENDL;;(A)fun();(B)Base.fun();(C)Base:fun();(D)Base-fun();16、执行下面的程序将输出()。#includeiostream.hclassBASEcharc;public:BASE(charn):c(n)virtualBASE()coutc;;classDERIVED:publicBASEcharc;public:DERIVED(charn):BASE(n+1),c(n)题答不内线封密12、每个类()构造函数。第5页DERIVED()coutc;;intmain()DERIVEDa(X);return0;

7、(A)XY(B)YX(C)X(D)Y17、下面描述中,表达错误的是()(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)extern(C)public(D)enum三、改错题三、改错题( (每处每处 2 2 分,共分,共 6 6 分分) )1、使用 VC6 打开考生文件夹下的工程 proj1,此工程包含一个源程序文件 main.cpp,但该程序运行有问题,请改正 main 函数中的错误,使程序的输出结果为:member=0member=5menber=10源程序文件 main.cpp 清单如下:#includei

9、ostream.hclassMyClasspublic:MyClass(inti)member 二 i;VoidSetMember(intm)member=m;第 4 页第7页intGetMember()constreturnmenber;voidprint()contcoutmember 二MEMBERENDL;private:intmember;;voidmain()MyClassobjl;/更正objl.print();MyClassobj2(3);obj1.member=5;/更正MyClass.SetMember(lO);/更正objl.print();obj2.print();写出

10、下列程序的执行结果写出下列程序的执行结果( (每小题每小题 5 5 分,共分,共 2020 分分) )#includeiostream.hclassSampleintn;public:Sample(inti)n 二 i;friendintadd(Sample&s1,Sample&s2);intadd(Sample&s1,Sample&s2)returns1.n+s2.n;voidmain()Samples1(10),s2(20);四四、1 1、第8页coutadd(s1,s2)endl;执行结果是:2 2、#includeiostream.hintadd(int

11、x,inty)returnx+y+1;doubleadd(doublex,doubley)returnx+y1;voidmain()inta=2,b=4;doublec=2.6,d=7.4;coutadd(a,b),add(c,d)endl;执行结果是:3 3、#includeiostream.hclassApublic:intn;;classB:virtualpublicA;classC:virtualpublicA;classD:publicB,publicCintgetn()returnB:n;第9页;voidmain()第10页Dd;d.B:n=10;d.C:n=20;coutd.B:

12、n,d.C:nendl;执行结果是:4 4、#includeshow()(2)公有、私有、保护(3)class(4)抽象类(5)成员函数、不是(6) friend(7)11、11(8) 动态申请内存空间、 释放由new申请的空间、选择题选择题(每小题 1.5分,共 30分)1、D2、B3、C4、D5、D6、B7、B8、C9、C10、A11、 D12、C13、D14、B15、C16、A17、B18、C19、C20、A三、改错题改错题(每错 2分,共 6 分)MyClassobjl(O);obj1.SetMember(5);obj2.SetMember(10);四、写出下列程序的执行结果写出下列程

13、序的执行结果(每小题 5分,共 20分)(1)30(5 分)(2)79(每个 2.5 分)(3)2020(每个 2.5分)(4)3(2 分)3(2 分)3(1 分)五、编程题编程题(每题 10分、共 30分)1、#includeviostream.h#includevmath.hclassrectangle(2分)private:intx1,y1,x2,y2;/(2 分)public:rectangle(intxx1,intyy1,intxx2,intyy2)(1分)x1=xx1;y1=yy1;x2=xx2;y2=yy2;intgetarea()(2分)returnabs(x2-x1)*(y1

14、-y2);题答不内线封密第13页;voidmain()rectanglerectl(3,7,8,5);(2 分)coutvvrectl.getarea()vvendl;(1 分)2、(10 分)#includeviostream.hclasscar;(1分)classboatprivate:intweight;(1分)public:boat(intw):weight(w)(1分)friendinttotalweight(boatb1,carc1);(2分);classcar/(1 分)private:intweight;(1分)public:car(intw):weight(w);friend

15、inttotalweight(boatb1,carc1);(1 分);inttotalweight(boatb1,carc1)(1分)returnb1.weight+c1.weight;voidmain()carc1(1000);boatb1(2000);coutvvtotalweight(b1,c1)vvendl;(1 分)3、(10 分)#includeviostream.hclassvehicle/定义汽车类(3 分)protected:第14页intwheels;/车轮数floatweight;/重量public:vehicle(intwheels,floatweight);intge

16、t_wheels();floatget_weight();floatwheel_load();voidshow();classcar:publicvehicle/定义小车类(3 分)intpassenger_load;/载人数public:car(intwheels,floatweight,intpassengers=4);intget_passengers();voidshow();vehicle:vehicle(intwheels1,floatweightl)(1分)wheels=wheels1;weight=weight1;intvehicle:get_wheels()returnwheels;floatvehicle:get_weight()returnweight;voidvehicle:show()(1 分)cout车轮:wheels个endl;cout重量:weight公斤endl;car:car(intwheels,floatweight,intpa

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论