C++期末整理试卷(1).docx_第1页
C++期末整理试卷(1).docx_第2页
C++期末整理试卷(1).docx_第3页
C++期末整理试卷(1).docx_第4页
C++期末整理试卷(1).docx_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

11. 下面是关于一个类的友元的说法,其中正确的A. 友元函数可以访问该类的私有数据成员B. 友元的声明必须放在类的内部D. 类与类之间的友元关系不能被继承 12. 在下面几项中,运算符在 C+ 中不能被重载的是 ( c ) 。A. & B. C. ? : D. +13. 在下面的说法中,不正确的一句是 ( a ) 。 A. 类的友元函数是类的特殊成员函数,它对所有的类成员、保护成员和私有成员享有完全访问特权 B. 一个类的友元类中的成员函数都是这个类的友元函数 C. 适用于类成员函数和数据的访问控制同样适应于枚举和嵌套类 D. 与结构类似,类也可以互相嵌套,适用于嵌套结构的规则也适用于嵌套类14. 下列叙述中,正确的是 D. 对象数组的生存期结束之后,系统为数组中的每个元素调用一次析构函数15. 有如下两个类定义class XX private: double x1;protected: double x2;public: double x3; class YY:protected XXprivate:double y1;protected:double y2;public:double y3;在类YY中保护成员变量的个数是( 4 )。16. 以下哪个基类中的成员函数表示纯虚函数 ( c ) 。 A. virtual int vf(int) ; B. void vf(int) = 0; C. virtual void vf( ) = 0; D. virtual void vf(int) 17. C+ 的运算符函数的返回类型 ( a) A. 不能是void类型 B. 不可以是int类型C. 可以是任意类型 D. 不可以是float类型18. 进行文件操作时需要包含 a.文件。A. fstream.h B. ostream.h C. stdio.h D. stdlib.h19. 下列程序段中包含4个函数,其中具有隐含this指针的是( d )int fun1();class Testpublic:int fun2();friend int fun3();static int fun4();D)fun420. (30)下列代码声明了3个类class Person;class Student:public Person;class Undergraduate:Student;下列关于这些类之间关系的描述中,错误的是dA)类Person是类Undergraduate的基类B)类Undergraduate从类Student公有继承C)类Student是类Person的派生类D)类Undergraduate是类Person的派生类1. ( a ) 不是面向对象系统所包含的要素。A. 重载 B. 对象 C. 类 D. 继承2. C+ 对C语言作了很多改进,下列描述中 ( d ) 使得C语言发生了质变,即从面向过程变成为面向对象。A. 增加了一些新的运算符 B. 允许函数重载,并允许设置缺省参数C. 规定函数说明必须用原型 D. 引进了类和对象的概念3. 与 C语言 printf(“Hello worldn”) ; 语句功能相同的C+ 语句是 ( c ) 。 A. cout “Hello worldn” B. cin “Hello woridn” C. cout “Hello worldn” D. cin “Hello worldn”4. 下面叙述不正确的是 ( a ) 。 A. 基类的保护成员在派生类中仍然是保护的 B. 基类的保护成员在公有派生类中仍然是保护的 C. 基类的保护成员在私有派生类中仍然是私有的D. 对基类成员的访问必须无二义性5. 下面叙述不正确的是 ( c ) 。 A. 成员的访问能力在 private 派生类中和 public 派生类中是不同的B. 基类的 private 成员在 public 派生类中不可访问C. 赋值兼容规则不适用于多重继承的组合D. public 基类成员在 protected 派生中是 protected6. 下面叙述正确的是 ( d ) 。 A. 基类的对象可以赋给派生类 B. 只要是基类的对象,都可以赋给由它派生的任一个派生类对象C. 只有该基类直接派生出来的类的对象才可以赋给该基类的对象D. 派生类的对象可以赋给基类的对象7. 用于类中虚成员函数说明的保留字是 ( b ) 。 A. public B. virtual C. protected D. private8. 下面是关于一个类的友元的说法,其中不正确的是 ( c ) 。 A. 友元函数可以访问该类的私有数据成员 B. 友元的声明必须放在类的内部 C. 友元函数可以是类的成员函数 D. 类与类之间的友元关系不能被继承9. 下面是关于静态成员的说法,其中不正确的是 ( d ) 。A. 静态成员有类作用域,但与普通非静态成员有所不同 B. 静态函数没有this指针,同一个类的不同对象拥有相同的静态数据成员C. 静态数据成员的初始化必须在类外进行D. 静态函数同样可以访问非静态数据成员10. 下列运算符中不能用友元重载的是 ( d ) 。A. + B. = C. * D. 11. 在下面的说法中,不正确的一句是 ( a ) 。 A. 类的友元函数是类的特殊成员函数,它对所有的类成员、保护成员和私有成员享有完全访问特权 B. 一个类的友元类中的成员函数都是这个类的友元函数 C. 适用于类成员函数和数据的访问控制同样适应于枚举和嵌套类D. 与结构类似,类也可以互相嵌套,适用于嵌套结构的规则也适用于嵌套类12. 对于下面的几个函数:void f(int x) /1 int f(int y) /2 int f(int i, int j) /3 float k(int x) /4 ( c ) 是重载函数。C. 2和3 13. 下面 ( c ) 项是对构造函数和析构函数的正确定义。A. void X : X( ) , void X : X( ) B. X : X(参数) , X : X(参数) C. X : X(参数) , X : X( ) D. void X : X(参数) , void X : X(参数)14. 以下关于派生的情况,不正确的是 ( b ) 。 A. 公有派生类的对象可以初始化基类的引用 B. 基类中保护成员在私有派生类中仍为保护的 C. 公有派生类的对象的地址可以赋给指向基类的指针 D. 基类中保护成员在私有派生类中变为私有15. 关于运行时多态性 (动态绑定、动态联编) 的下列描述中,错误的是 (d ) 。A. 运行时多态性是以虚函数为基础的 B. 运行时多态性时在运行时确定所调用的函数代码 C. 运行时多态性调用函数操作是使用指向对象的指针或对象引用 D. 运行时多态性是在编译时确定操作函数的16. 下面正确的说法是 ( d ) 。A. 保留字 virtual 只能用来声明虚函数B. 声明虚函数的时候,才使用保留字 virtual C. 保留字 virtual 不能用来声明虚基类D. 保留字 virtual 能用来声明虚基类17. 下面函数 ( c ) 的表示方法说明它使用对象的引用作为参数。A. TEST(pt *p) B. TEST(pt p) C. TEST(pt& p) D. TEST(const p)18. 下面列出了一些程序片断 (其中部分语句没有给出,使用 / 代替) ,其中判断不正确的是 ( c ) 。 A. void fun(const int x) x+; / 判断:该程序编译时就会报错,因为函数fun中改变了const型参数x。 B. int fun( ) return l; void main( ) const int countfun( ) ; const int fun( ) return l; void main( ) int count=fun( ) ; 判断:这两个程序的效果是相同的。 C. class BASE int x; public:BASE( ) : x(0) BASE(int X) : x(X) void add(void) const x+; ;判断:这个类的定义是没有问题的。 D. void fun(int * * ) void main( ) int i=50; int * ip=&i; fun(&ip) ; 判断:编译时编译程序是不会报错的。19. 填在下列源程序中划线处的正确语句是 ( c ) 。 源程序如下: # include class BASE public: virtual void fun(void) cout “Calling BASE : fun( ) ” endl; ;class DERIVED : public BASE public: void fun(void) _ / 显式调用基类的函数 fun( )cout “Calling DERIVED : fun( ) ” fun( ) ;20. 下面程序使用了new与delete命令:# include main( ) long *p, i;p=new long;if (!p) cout “Allocation errorn”;return 1; *p=1000;i=(long) p;cout “Here is interer at p: ” *p t ;cout “Here is i: ” i n ;delete p;return 0;下面是对这段程序的叙述,其中正确的是 ( c ) 。A. 有错误,编译不能通过B正确,执行结果为:1000 1000 C. 正确,但执行结果的第二个数值不定D. 正确,执行结果的各个数值均不为10001. 下面关于类概念的描述中,( d ) 是错误的。A. 类是抽象数据类型的实质 B. 类是具有共同行为的若干对象的统一描述体C. 类是创建对象的样板 D. 类就是 C 语言中的结构类型 2. 对于C+ 源程序文件,其缺省的扩展名为 ( b ) 。A. C+ B. cpp C. c D. Cc3. 下面选项中 ( d ) 不是结构和类的共同特性。A. 对象可以用作数组的元素B. 可以说明指向对象的指针,并且可以使用取地址运算符“&”将一个对象的地址置于该指针中C. 对象之间可以相互赋值D. 在缺省情况下,成员是公有的4. 下面叙述不正确的是 ( c ) 。 A. 成员的访问能力在 private 派生类中和 public 派生类中是不同的B. 基类的 private 成员在 public 派生类中不可访问C. 赋值兼容规则不适用于多重继承的组合D. public 基类成员在 protected 派生中是 protected5. 下列表达方式正确的是 ( d ) 。D. class P public: int a; void Seta( int x ) a=x; ;6. 下面不是抽象数据类型的有 ( c ) 。A. struct B. union C. bool D. class7. 下面叙述不正确的是 ( b ) 。A. 派生类可以使用 private 派生B. 基类的 public 成员在派生类中仍然是 publicC. 对基类成员的访问必须是无二义性的D. 赋值兼容规则也适用于多重继承的组合8. 下列叙述中,不正确的是 (c) 。A. 含纯虚函数的类成为抽象类 B. 不能直接由抽象类建立对象C. 抽象类不能作为派生类和基类 D. 纯虚函数不能定义其实现部分9. 下列叙述中,不正确的是 ( c ) 。A. 类的构造函数可以重载B. 类的构析函数可以重载D. 一个类可以不定义构析函数10. 下面函数 (c) 的表示方法说明它使用对象的引用作为参数。A. TEST(pt *p) B. TEST(pt p) C. TEST(pt& p) D. TEST(const p)11. 下面是关于一个类的友元的说法,其中不正确的是 ( c ) 。A. 友元函数可以访问该类的私有数据成员B. 友元的声明必须放在类的内部C. 友元函数可以是类的成员函数D. 类与类之间的友元关系不能被继承13. 在下面的说法中,不正确的一句是 ( a ) 。 A. 类的友元函数是类的特殊成员函数,它对所有的类成员、保护成员和私有成员享有完全访问特权B. 一个类的友元类中的成员函数都是这个类的友元函数C. 适用于类成员函数和数据的访问控制同样适应于枚举和嵌套类D. 与结构类似,类也可以互相嵌套,适用于嵌套结构的规则也适用于嵌套类14.正确的是 ( d ) 。A. 无论说明何种类型的对象,程序都自动调用适当的构造函数来初始化该对象B. 构造函数在初始化时分配类所需的内存C. 可以显式地指明析构函数的类型为void,形如void X : X( ) D. 对象数组的生存期结束之后,系统为数组中的每个元素调用一次析构函数15. 关于动态绑定 (动态联编) 的下列描述中,错误的是 ( d ) 。A. 动态绑定 (动态联编) 是以虚函数为基础的B. 动态绑定 (动态联编) 时在运行时确定所调用的函数代码C. 动态绑定 (动态联编) 调用函数操作是使用指向对象的指针或对象引用16. 以下哪个基类中的成员函数表示纯虚函数 (c ) 。A. virtual int vf(int) ; B. void vf(int) = 0;C. virtual void vf( ) = 0; D. virtual void vf(int) 17. C+ 的运算符函数的返回类型 ( a ) 。A. 不能是void类型 B. 不可以是int类型C. 可以是任意类型 D. 不可以是float类型18. 进行文件操作时需要包含 (a ) 文件。A. fstream.h B. ostream.h C. stdio.h D. stdlib.h19. 仔细阅读下面的程序,论述正确的一项是 ( d ) 。 源程序如下: # include class BASE public:virtual void fun(void) const=0 cout “Calling BASE : fun( ) ” endl; ;class DERIVED : public BASE public:void fun(void) BASE : fun( ) ;cout “Calling DERIVED : fun( ) ” “Hello worldn”B. cin “Hello woridn” C. cout “Hello worldn” D. cin “Hello worldn”4. 下面叙述不正确的是 ( a A. 基类的保护成员在派生类中仍然是保护的B. 基类的保护成员在公有派生类中仍然是保护的 C. 基类的保护成员在私有派生类中仍然是私有的D. 对基类成员的访问必须无二义性5. 下面叙述不正确的是 (c ) 。 A. 成员的访问能力在 private 派生类中和 public 派生类中是不同的B. 基类的 private 成员在 public 派生类中不可访问C. 赋值兼容规则不适用于多重继承的组合D. public 基类成员在 protected 派生中是 protected6. 下面叙述正确的是 ( d ) 。A. 基类的对象可以赋给派生类B. 只要是基类的对象,都可以赋给由它派生的任一个派生类对象C. 只有该基类直接派生出来的类的对象才可以赋给该基类的对象D. 派生类的对象可以赋给基类的对象7. 用于类中虚成员函数说明的保留字是 ( b ) 。 A. public B. virtual C. protected D. private8. 下面是关于一个类的友元的说法,其中不正确的是 ( c ) 。 A. 友元函数可以访问该类的私有数据成员 B. 友元的声明必须放在类的内部 C. 友元函数可以是类的成员函数D. 类与类之间的友元关系不能被继承9. 下面是关于静态成员的说法,其中不正确的是 ( d ) 。A. 静态成员有类作用域,但与普通非静态成员有所不同 B. 静态函数没有this指针,同一个类的不同对象拥有相同的静态数据成员C. 静态数据成员的初始化必须在类外进行D. 静态函数同样可以访问非静态数据成员10. 下列运算符中不能用友元重载的是 ( d ) 。A. + B. = C. * D. 11. 在下面的说法中,不正确的一句是 (a) 。 A. 类的友元函数是类的特殊成员函数,它对所有的类成员、保护成员和私有成员享有完全访问特权 B. 一个类的友元类中的成员函数都是这个类的友元函数 C. 适用于类成员函数和数据的访问控制同样适应于枚举和嵌套类D. 与结构类似,类也可以互相嵌套,适用于嵌套结构的规则也适用于嵌套类13. 下面 ( c ) 项是对构造函数和析构函数的正确定义。A. void X : X( ) , void X : X( ) B. X : X(参数) , X : X(参数) C. X : X(参数) , X : X( ) D. void X : X(参数) , void X : X(参数)14. 以下关于派生的情况,不正确的是 ( b ) 。A. 公有派生类的对象可以初始化基类的引用B. 基类中保护成员在私有派生类中仍为保护的C. 公有派生类的对象的地址可以赋给指向基类的指针D. 基类中保护成员在私有派生类中变为私有15. 关于运行时多态性 (动态绑定、动态联编) 的下列描述中,错误的是 ( d ) 。 A. 运行时多态性是以虚函数为基础的 B. 运行时多态性时在运行时确定所调用的函数代码C. 运行时多态性调用函数操作是使用指向对象的指针或对象引用D. 运行时多态性是在编译时确定操作函数的16. 下面正确的说法是 ( d ) 。A. 保留字 virtual 只能用来声明虚函数B. 声明虚函数的时候,才使用保留字 virtualC. 保留字 virtual 不能用来声明虚基类D. 保留字 virtual 能用来声明虚基类17. 下面函数 ( c ) 的表示方法说明它使用对象的引用作为参数。A. TEST(pt *p) B. TEST(pt p) C. TEST(pt& p) D. TEST(const p)18. 下面列出了一些程序片断 (其中部分语句没有给出,使用 / 代替) ,其中判断不正确的是 ( c ) 。 A. void fun(const int x) x+; / 判断:该程序编译时就会报错,因为函数fun中改变了const型参数x。 B. int fun( ) ret

温馨提示

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

评论

0/150

提交评论