面向对象程序设计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控件同时具有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()函数中
多态性与虚函数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,下面哪个说法是正确的(D )
A. 创建文档时被调用 B. 打开文档时被调用
C. 修改文档时被调用 D. 视图第1次连接到文档后,初始显示视图前调用该函数
36.对滑动条控件有设置SetRange(0,100,TRUE); SetTicFreq(4); ,下面的说法哪个是正确的。( B )
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论