VC选择题

  • 格式:doc
  • 大小:179.50 KB
  • 文档页数:29

2.为了避免嵌套的条件语句的二义性,C++语言规定else与_______配对。

B. 其之前最近的还没有配对过的if

3.对于C++的函数,正确的叙述是

A.函数的定义不能嵌套,但函数的调用可以嵌套

6.下列叙述中,不正确的是__________。

A. 类的构造函数可以重载 B.类的析构函数可以重载

C.一个类可以不定义构造函数 D.一个类可以不定义析构函数

8.对于C++源程序文件,其缺省的扩展名为_________。

B. .CPP

9.下列叙述中不正确的是_________。

A.含纯虚函数的类称为抽象类 B.不能直接由抽象类建立对象

C.抽象类不能作为派生类和基类 D. 纯虚函数不能定义其实现部分

1. 在C++中函数参数的传递方式有三种,分别是:__值传递__、_地址传递_和_引用传递_。

2. 当用成员函数重载双目运算符时,运算符的左操作数必定是____对象________。

3. 在类中,定义构造函数的目的是__在产生对象时,对对象的数据成员进行初始化_____。

2、对定义重载函数的下列要求中,错误是( )。 D、要求函数的返回值不同

3、 函数原型语句正确的是( )。

B、void Function (int);

4、下面有关析构函数的描述不正确是( )。

A、析构函数可以带参数

5、假定A,Z分别为一个类,则( )为类A的拷贝构造函数的原型说明。

B、A(A & x);

6、有关运算符(操作符)重载的描述错误的是( )。

D、++、--不能被重载

数组可以作为函数参数。( 对 )

1、 派生类对象可以赋值给基类对象。( 对 )

2、 派生类的成员函数可以直接访问基类的所有成员。(错 )

3、 用new动态申请的内存空间,如果不释放,在程序结束后会发生内存泄漏 。( 对 )

4、 基类中被说明为protected和private的成员能被其派生类的成员函数访问( 错)

5、 当将一个函数定义为另一个类A的友元函数时,此函数可以直接访问类A的所有成员。( 对 )

6、 C++是一门完全面向对象的程序设计语言。( 错 )

7、 下面两个语句是等价的: char str[ ]="hello, world"; char str[11]="hello, world"。( 错 )

1.若整型变量现在的值是 –3,则表达式a&0xf运算后的值是

B)13

2.下列叙述中,哪一个不对?

A)类的构造函数可以重载 B)类的析构函数可以重载

C)一个类可以不定义构造函数 D)一个类可以不定义析构函数

8.设有说明 int (*ptr)[M];其中的标识符ptr是

C) 一个指向具有M个整型元素的一维数组的指针

16.下列叙述中,正确的是

D)以上的说法都是正确的

19.下列叙述中,哪一个不正确 ?

A)含纯虚函数的类称为抽象类

B)不能直接由抽象类建立对象

C)抽象类中能包含构造函数

D)抽象类中不能包含析构函数

1、 若变量a=1,则表达式 (! a | a )的结果是______1_______。

2、 类的继承方式有__private(私有继承)_、_public(公有继承)和_protected(保护继承)。

3、 如果一个函数需要返回整型值,则函数类型应声明为___int__________。

4、 要调用函数strcmp( ),必须指明头文件的命令行#include<_string.h_________>。

5、 __循环语句__语句和__switch_语句不能出现在内联函数体内。

6、 在面向对象方法中,类是_C++的一种数据类型_。

7、 类的封装的目的是_将数据与操作数据的函数代码进行有机的结合,形成类(其中数据和函数都是类的成员),实现封装是用_类。

8、 派生类的对象对它的基类成员中,_公有成员__是可以访问的。

4、下面关于构造函数的描述错误的是( B )。

A.函数名与类名相同 B.不能是内联函数

C.没有返回值 D.可以重载

5、int a[2][3]={1,2,3,4,5,6};下面错误的说法是 ( d )。

(A)a数组是一个二行三列的数组 (B)a与&a[0]等价

(C)a[1][1]元素的值是5 (D)a是变量

10、下面哪个是合法的字符串( )。

(A)“ ” (B)‘a’ (C)‘xyz’ (D)123

5.类的访问权限有 public 、protected 、 private 3中。

6.类实现的了面向对象程序设计的 封装 特性。

7.一个 类 和个 对象 的关系,如同基本数据类型与改类型变量一样,如 int x;。

8.在类外部定义类成员函数是,必须在函数名前加上 类名称 和 :: 。

9. 构造函数 是在类对象创建时被调用的,而类对象在销毁时将调用 析构函数 。

10.类有两个用途,一个是实例化生成类对象;另一个是通过 继承 ,派生出新的类。

11.C++提供的 多重继承 机制允许一个类可以有多个基类,而这些基类 可以

是毫无关联的。

12.面向对象程序设计的3大特性为 封装 、 继承 、 多态 。

13.在编译时就解决函数的调用称为 静态 联编 ;在运行是才解决函数的调用称为 动态 联编。

14.如果一个类中声明有纯虚拟函数,则这个类被称为 抽象类 。这样的类不可以 实例化 。

15.静态成员分为 数据成员 和 成员函数 。

16.友元是 友元类 和 友元函数 的统称。

17.诺干个函数在同一作用域内使用同一名称,称为 重载 。

18.重载包括 函数重载 和 运算符重载 。

19.模板可分为 类模板 和 函数模板 。

判断题

20.当使用指针变量访问类的成员时,必须先使指针变量指向该类的某个对象。 (√)

21.构造函数和析构函数是类的两个特殊函数

(√)

22.在继承关系中,被继承的类称为基类,而通过继承定义出的新类称为派生类。(√)

23.在程序中可以把基类的对象当作派生类对象来处理。

(x)

24.类的静态成员是所有该类对象所共有的,并不依赖于某一个对象的存在而存在。(√)

25.友元函数是类的成员函数。

(x)

26.返回值可以作为重载函数的标识。

(x)

27.运算符重载是一种特殊的函数重载。

(√)

29.模板只是一个说明,只有实例化和才能使用。

(√)

选择题

1.以下四个特性中哪一个不属于面向对象的三大特性 (C )

A. 封装性 B. 多态性 C. 抽象性 D. 继承性

2. 下面四个MFC类中哪一个是管理MFC应用程序的 (A )

A. CWinApp

3. 下列类中哪一个不是GDI对象类 (B)

B. CWnd

4. 下列关键字中哪一个不是用于类的访问控制的 (B)。

A. public B. friend C. private D. protected

5. 下列类中不属于MFC框架基本类的是 ( D)

D. CObject

6. 下列选项中哪一个不是命令消息的产生途径 (C)

A. 选择菜单项 B. 单击工具栏

C. 点击对话框的按钮 D. 程序产生命令

7. 以下四个关于类的访问控制的描述哪一个是错误的 (D )

A.子类不能访问其父类的私有数据成员和成员函数

B.子类的对象不能访问其父类的保护数据成员或者成员函数

C.类的对象不能访问类的保护数据成员或者成员函数

D.类的成员函数不能访问类中的私有数据

8. 下面有关重载函数的说法中正确的是 (C )

C.重载函数必须有不同的形参列表

9. 下列关于构造函数的描述中,错误的是 (D)

D.构造函数不可以重载

10. 用于描述矩形的类是 (D )

D.CRect

11. 所有GDI类均从一个GDI基类派生,这个基类是( D )

D.CGdiObject

12. 视图类中支持绘图的成员函数是( A )。

A.OnDraw

13. 一个视图对象能连接( )文档对象,一个文档对象能连接(D )视图对象。

D. 一个,多个

14. 更新菜单状态的消息是( C )。

C. ON_UPDATE_COMMAND_UI

15. 所有的控件都是 (B ) 类的派生类,都可以作为一个特殊的窗口来处理。

B. CWnd

16. 以下控件中,( C )没有Caption属性。

C. 编辑控件

17. 设备环境类CDC提供了绘制和打印的全部函数。为了能让用户使用一些特殊的设备环境,CDC还派生了一些类。以下正确的是( A )。

A.CPaintDC、CClientDC、CWindowDC和CMetaFileDC

18.窗口CWnd类的( A)函数可以取得窗口客户区尺寸,用于绘图时精确定位。

A.GetClientRect

19. 当在使用类模板时,类模板本身被实例化成了一个具体的(D)。

D. 类

20. 通过调用(B)函数,能够设置本地计算机的时间。

B.SetLocalTime(„)

21.关于类,下面说法不正确的是( D )。

A.在类中,成员的默认访问特性是私有的

B.类实现了数据的封装

C.类实质上是一种数据类型

D.在类的定义中,必须包含private、public、protect三种访问方式对应的部分

22.关于对象,下面说法不正确的是(C )。

A.对象是类的一个实例

B.任何一个对象只是属于一个类

C.一个类只能有一个对象