面向对象程序设计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()
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控件同时具有OnCommandBN_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()函数中
多态性与虚函数B. 初始化代码应放在OnInitDialog()函数中
C. 初始化代码应放在对话框类的构造函数中
D. 初始化代码应放在用户自定义函数中
22关于函数CProgressCtrl::SetPos( int nPos ),下面的说法哪个是正确的( C
A. 设置进展条的步长        B. 设置进展条范围的上限
C. 设置进展条初始位置        D. 返回进展条当前位置
23关于函数CListBox::GetItemDataPtr( int nIndex ),下面的说法哪个是正确的( A
A. 取出与索引nIndex的列表项相关联数据的指针,类型为void*
B. 取出与索引nIndex的列表项相关联数据的指针,类型CString*
C. 取出与索引nIndex的列表项相关联数据的指针,类型int*
D. 取出索引nIndex的列表项字符串
24.关于函数SetSel(0,-1),下面的说法哪个是正确的( C
A. 在编辑框内选中第0行文本        B. 在编辑框内未选中任何文本
C. 在编辑框内选中全部文本            D. 参数范围错
25关于滚动条的WM_VSCROLL消息映射,下面的说法哪个是正确的( B
A. CScrollBar类中进行        B. CDialog类中进行
C. CFrameWnd类中进行        D. CView类中进行
26关于函数CProgressCtrl:: SteiIt(),下面的说法哪个是正确的( A
A. 使进展条前进一个步长        B. 使进展条后退一个步长
C. 设置进展条初始位置            D. 返回进展条当前位置
27关于函数CListBox:: GetCurSel( ),下面的说法哪个是正确的( B
A. 取列表框中选中项的内容        B. 取列表框中选中项的索引
C. 删除列表框中的选中项        D. 在列表框中添加一项
28.关于函数UpdateData()下面哪个说法是正确的( B
A. 数据从相关联的成员变量向控件传输
B. 数据从控件向相关联的成员变量复制
C. 实现不同控件之间的数据交换
D. 实现与不同控件相关联变量的数据交换
29关于函数CListBox:: ResetContent( ),下面的说法哪个是正确的( D
A. 更新列表框中的内容
B. 删除列表框中的第1
C. 删除列表框中的最后1
D. 删除列表框中的所有项,即清空列表框
30.为使工具栏按钮与对应菜单项功能一致,下面哪个说法是正确的( B
A. 工具栏按钮与对应菜单项的ID相同,工具栏按钮必须重写代码。
B. 工具栏按钮与对应菜单项的ID相同,工具栏按钮不用重写代码。
C. 工具栏按钮与对应菜单项的ID必须不同,工具栏按钮必须重写代码。
D. 工具栏按钮与对应菜单项的标题相同,工具栏按钮不用重写代码。
31.关于消息WM_CONTEXTMENU的说法,下面哪个说法是正确的( A
A. 单击鼠标右键时发送        B. 单击鼠标左键时发送
C. 击鼠标右键时发送        D. 击鼠标左键时发送
32关于消息BN_CLICKED的说法,下面哪个说法是正确的( B
A. 单击鼠标右键时发送        B. 单击鼠标左键时发送
C. 击鼠标右键时发送        D. 击鼠标左键时发送
33关与函数OnDraw下面哪个说法是正确的( A
A. 窗口首次生成时自动调用    B. 窗口生成后调用
C. 窗口消失前调用            D. 窗口消失后调用
34关与函数OnNewDocumen下面哪个说法是正确的( A
A. 创建文档时调用            B. 打开文档时调用
C. 修改文档时调用            D. 视图第1次连接到文档后,初始显示视图前调用该函数
35.关与函数OnInitialUpdate下面哪个说法是正确的(
A. 创建文档时被调用            B. 打开文档时被调用
C. 修改文档时被调用            D. 视图第1次连接到文档后,初始显示视图前调用该函数
36.对滑动条控件有设置SetRange(0,100,TRUE); SetTicFreq(4); 下面的说法哪个是正确的。( B