2024年4月30日发(作者:)

面向对象程序设计C++复习题

一、单选题

1.对类成员访问权限的控制,是通过设置成员的访问控制属性实现的,下列不是访问控制属性的是( D )

A. 公有类型 B. 私有类型 C. 保护类型 D. 友元类型

2.下列关于多态性的描述,错误的是( C )

A. C++语言的多态性分为编译时的多态性和运行时的多态性

B. 编译时的多态性可通过函数重载实现

C. 运行时的多态性可通过模板和虚函数实现

D. 实现运行时多态性的机制称为动态绑定

3.在C++语言中,数据封装要解决的问题是( D )

A. 数据的规范化 B. 便于数据转换

C. 避免数据丢失 D. 防止不同模块之间数据的非法访问

4.使用private修饰的成员变量,以下说法正确的是( A )

A. 只能由本类中的函数使用,不能被外面的程序所访问。

B. 可以由本类中的函数使用,也可以被外面的程序所访问。

C. 只能由本类和派生类中的函数使用。

D. 可以在主函数中使用。

5.对类的构造函数和析构函数描述正确的是( A )

A. 构造函数可以重载,析构函数不能重载

B. 构造函数不能重载,析构函数可以重载

C. 构造函数可以重载,析构函数也可以重载

D. 构造函数不能重载,析构函数也不能重载

6.下面对静态数据成员的描述中,正确的是( A )

A. 静态数据成员是类的所有对象共享的数据

B. 类的每个对象都有自己的静态数据成员

C. 类的不同对象有不同的静态数据成员值

D. 静态数据成员不能通过类的对象调用

7.在VC++语言类体系中,不能被派生类继承的有( B )

A. 转换函数 B. 构造函数 C. 虚函数 D. 静态成员函数

8.下面关于句柄正确的说法是( A )

A. 句柄是一个标识Windows资源和设备等对象的变量。

B. 句柄是用户程序自定义的数据类型。

C. 用户程序使用句柄时不需要定义。

D. 句柄仅仅是一个抽象的概念,程序中不能使用句柄。

9.下面关于动态链接库正确的说法是( B )

A. 动态链接库提供的函数,在编译阶段能够连接到应用程序中。

B. 动态链接库提供的函数,在运行阶段能够连接到应用程序中。

C. 动态链接库本身不能单独设计、编译和调试。

D. 动态链接库的使用使得程序缺乏灵活性。

10.下面关于MFC应用程序中InitInstance函数正确的说法是( D )

A. 该函数由用户定义。

B. 该函数不需要用户程序覆盖。

C. 该函数在WinMain函数内被显式调用。

D. 通过应用程序类的全局指针自动调用。

11.为了在程序中显示一个模式对话框,应使用CDialgl类的成员函数( C )

A. ShowWindow() B. Create()

1

C. DoModal() D. InvalidateRect()

12.为了在程序中显示一个无模式对话框,应使用CWnd类的成员函数( A )

A. ShowWindow(SW_NORMAL) B. Create()

C. DoModal() D. InvalidateRect()

13.对于模式对话框的缺省按钮“OK(确定)”,下面哪种说法是正确的?( B )

A. 单击“OK”,系统认定用户在对话框中的选择或输入无效,对话框退出。

B. 单击“OK”,系统认定用户在对话框中的选择或输入有效,对话框退出。

C. 单击“OK”,对话框照常运行。

D. 单击“OK”,对话框暂停运行。

14.设有语句int i=MessageBox("MFC对话框","提问",MB_YESNO|MB_ICONQUESTION);,下面哪种说法

是正确的?( C )

A. 消息对话框有两个按钮“确定”和“取消”,单击“确定”返回IDOK。

B. 消息对话框有一个按钮“确定”,单击“确定”返回IDOK。

C. 消息对话框有两个按钮“是”和“否”, 单击“是”返回IDYES。

D. 消息对话框有一个按钮“是”, 单击“是”返回IDYES。

15.一个无模式对话框在退出时,应写的代码是( C )

A. DestroyWindow(); B. delete this;

C. DestroyWindow();delete this; D. CloseWindow();

16.在编辑框内用代码实现剪贴板功能,下面哪个说法是正确的( D )

A. 使用UNIT类型变量访问剪贴板函数

B. 使用CString类型变量访问剪贴板函数

C. 使用int类型变量访问剪贴板函数

D. 使用CEdit类型变量访问剪贴板函数

17.关于DDX/DDV技术,下面哪个说法是正确的。( D )

A. 用户只能为一个控件关联一个变量

B. 用户可以为同一个控件关联多个变量,变量名可以相同,类型必须不同。

C. 用户可以为同一个控件关联多个变量,类型可以相同,变量名必须不同。

D. 用户可以为同一个控件关联多个变量,但必须保证变量名不同且类型不同。

18.一个Button控件同时具有OnCommand和BN_CLICKED两个消息处理函数,下面哪个说法是正确的。

( B )

A. 优先执行BN_CLICKED消息处理函数

B. 优先执行OnCommand消息处理函数

C. 同时执行

D. 编译错

19.关于函数CListBox:: GetText( int nIndex, LPTSTR lpszBuffer ),下面的说法哪个是正确的( C )

A. 取列表框中选中项的内容

B. 取列表框中选中项的索引

C. 取列表框中索引为nIndex的内容,送lpszBuffer

D. 取列表框中内容为lpszBuffer的索引,送nIndex

20.关于函数CButton::SetCheck (1),下面的说法哪个是正确的( A )

A. 设置复选按钮为选中状态

B. 设置复选按钮为非选中状态

C. 设置复选按钮为不确定状态

D. 该函数不能设置复选按钮状态

21.关于对话框应用程序的初始化代码,下面哪个说法是正确的( B )

A. 初始化代码应放在WinMain()函数中

2