面向对象编程技术1-1.doc_第1页
面向对象编程技术1-1.doc_第2页
面向对象编程技术1-1.doc_第3页
面向对象编程技术1-1.doc_第4页
面向对象编程技术1-1.doc_第5页
全文预览已结束

下载本文档

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

文档简介

面向对象编程技术复习1-1(答案在后面)一、单项选择题1下列运算符中,_运算符在C+中不能重载。 A)= B) C) : D)+2.下列关于友元的描述中,错误的是_A.友元函数可以访问该类的私有数据成员 B.一个类的友元类的成员函数都是这个类的友元函数C.友元可以提高程序的运行效率 D.类与类之间的友元关系可以继承3.下列关于C+运算符函数的返回类型的描述中,错误的是_。 A.可以是类类型 B.可以是int类型 C.可以是void类型 D.可以是float类型 4.继承具有_ ,即当基类本身也是某一个类的派生类时,底层的派生类也会自动继承间接基类的成员。 A.规律性 B.传递性 C.重复性 D.多样性 5使用指针动态申请数组 float234语句应是 A. float (*fp)23=new float23; B. float *fp=new float234; C. float (*fp)34=new float234 D. float *fp=new float34;6下列说法中错误的是_。 A.公有继承时基类中的public成员在派生类中仍是public的 B.公有继承时基类中的private成员在派生类中仍是private的 C.私有继承时基类中的public成员在派生类中是private的 D.保护继承时基类中的public成员在派生类中是protected的 7下列关于虚基类的描述中,错误的是_。 A.虚基类子对象的初始化由最派生类完成 B.虚基类子对象的初始化次数与虚基类下面的派生类个数有关 C.设置虚基类的目的是消除二义性 D.带有虚基类的多层派生类构造函数的成员初始化列表中都要列出对虚基类构造函数的调用8派生类的构造函数的成员初始化列表中,不能包含_。 A.基类的构造函数 B.派生类中子对象的初始化 C.基类中子对象的初始化 D.派生类中一般数据成员的初始化 9 带有虚基类的多层派生类构造函数的成员初始化列表中都要列出虚基类的构造函数,这样将对虚基类的子对象初始化_。 A.与虚基类下面的派生类个数有关 B.多次 C.两次 D.一次10下列描述中,_是抽象类的特性。 A.可以说明虚函数 B.可以进行构造函数重载 C.可以定义友元函数 D.不能说明其对象11定义int *p6等价的是( ) A、int p6; B、int * p; C、int * (p6) ; D、int (*p)6;12设int m=0;,下列表示引用的方法中,( )是正确的。A int &x=m; B int &y=10; C int &z; D float &t=&m13. 假定MyClass为一个类,则执行MyClass a, b2,*p;语句时,自动调用该类构造函数_次。 A)2 B)3 C)4 D)5 14. 对类的构造函数和析构函数描述正确的是_。 A)构造函数可以重载,析构函数不能重载 B)构造函数不能重载,析构函数可以重载 C)构造函数可以重载,析构函数也可以重载 D)构造函数不能重载,析构函数也不能重载 15. 对于结构体中定义的成员,其默认的访问权限为_。 A)public B)protected C)private D)static 16. 假定MyClass为一个类,则该类的拷贝初始化构造函数的声明语句为_。 A)MyClass &(MyClass x); B)MyClass (MyClass x) C)MyClass (MyClass &x); D)MyClass (MyClass *x)17. 为了使类中的某个成员不能被类的对象通过成员操作符访问,则不能把该成员的访问权限定义为_。 A)public B)protected C)private D)static 18. 对于常数据成员,下面描述正确的是_。 A)常数据成员可以不初始化,并且不能更新 B)常数据成员必须被初始化,并且不能更新 C)常数据成员可以不初始化,并且可以被更新 D)常数据成员必须被初始化,并且可以被更新 19. 关于new运算符的错误的描述是_。 A)使用运算符new创建对象数组时必须定义初始值 B)使用运算符new创建对象时,会调用类的构造函数 C)运算符new可以用来动态创建对象和对象数组 D)使用new运算符创建的对象可以使用运算符delete删除20.一个函数功能不太复杂,但要求被频繁调用,选用_A.内联函数 B.重载函数C.递归函数 D.嵌套函数 填空题1. 设置虚基类的目的是_,设置虚函数的目的是_。2. 在C+语言中,每个类都有一个隐含的指针叫做_指针。该指针指向_。3. 派生类对基类的继承有三种方式: _、_ 和_。4. 指针定义 char * const p 表示_是常量;指针定义 const char * p 表示_是常量。5. 一个抽象类的派生类可以实例化的必要条件是实现了所有的_。判断题1. 友元函数的作用是加强类的封装性。 ( ) 2. 在c+中,动态绑定的基础是虚基类。 ( ) 3. 定义一个对象数组Test t10,Test类中也可以不写构造函数。 ( ) 4. 可以在类的构造函数中对静态数据成员进行初始化。 ( ) 5. 对象的行为只有向对象发送信息才能引用。 ( ) 6. 构造函数和析构函数都不能重载。 ( ) 7. 无论何时编译器都为类构造一个无参数的缺省的构造函数。 ( ) 8. 我们不能用抽象类定义对象,但可以定义对象的指针。 ( ) 9. 指针ptr原来的值为100,执行ptr = ptr + 1后,ptr的值一定为101。 ( ) 10.由于类名被视为一个类型名,因此,使用new建立动态对象的语法和建立动态变量的情况类似,其不同点是new和构造函数一同起作用。( )简答题1. 类的缺省构造函数有那几中定义形式,能不能同时定义两个以上的缺省构造函数?2. 何为拷贝构造函数?它主要在哪几种情况使用?3. 什么是组合类,组合类的构造函数需要完成那些操作?4. 什么是多态?运行时的多态是通过什么函数来实现的?程序设计题1 利用静态数据成员的概念,编写一个类Cat,可以统计目前存在多少个该类的对象,并在主程序中测试这个类(10分)。2 .定义一个描述复数的类,数据成员包括实部和虚部,成员函数包括:可以设置初始值的构造函数,输出复数,置实部、置虚部的成员函数(10分)。3 定义一个时钟类,其数据成员描述时、分、秒,然后重载运算符前置+和后置+运算符,实现时钟的计时(10分)。面向对象编程技术1-1选择题评分标准:总分35分1.C 2.D 3.C 4.B 5.C6.B 7.B 8.C 9.D 0.D11.C 12.A 13.B 14.A 15.A 16.C 17.A 18.B 19.A 20.A填空题1. 解决二义性问题,实现运行时多态2. this,当前对象3. 公有继承,私有继承,保护继承4. 指针p,*p5. 纯虚函数判断题(每题 3分 共6分)1.错 2. 对 3. 对 4. 错 5. 对 6. 错 7.错 8. 对 9.错 10. 对简答题评分标准:1 类的缺省构造函数有两种,一种是构造函数没有形式参数,另一种是构造函数有形式参数,但每一个形式参数都有缺省值,不能同时定义两个以上的缺省构造函数。2拷贝构造函数是一类特殊构造函数,它的形式参数是本类对象的引用,具有构造函数的一切功能,它主要用来实现对本类对象的复制。具体用在三种情形: 1对本类对象的初始化 2当函数的形式参数是类类型时,在实参向形参传递值时 3当函数的返回值是类类型时,被调函数向调用函数返回对象值时。3一个类中内嵌其它类的对象时,该类称为组合类;组合类的构造函数需要完成对内嵌对象的初始化和本类新增成员的初始化。4多态性指是同样的消息被不同类型的对象接收产生不同的行为;运行时的多态通过定义虚函数来实现。九 编程题1 class Catpublic:Cat(char *pname)strcpy(name,pname);+count;Cat()-count;Cat(Cat &fs)strcpy(name,);+count;static int count;private:char name20;int Cat:count=0;void main()Cat f1(“Rose”);Cat f2(“Jack”);cout”The Cat Number is : ”Cat:countendl;2.class Complexpublic:Complex(double r,double i)real=r,image=i;void Set_real(double r)real=r;void Set_image(double i)image=i;void Show()cout”

温馨提示

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

评论

0/150

提交评论