您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > C/C++资料 > 面向对象程序设计C++复习题
1面向对象程序设计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()2C.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.设有语句inti=MessageBox(MFC对话框,提问,MB_YESNO|MB_ICONQUESTION);,下面哪种说法是正确的?(C)A.消息对话框有两个按钮“确定”和“取消”,单击“确定”返回IDOK。B.消息对话框有一个按钮“确定”,单击“确定”返回IDOK。C.消息对话框有两个按钮“是”和“否”,单击“是”返回IDYES。D.消息对话框有一个按钮“是”,单击“是”返回IDYES。15.一个无模式对话框在退出时,应写的代码是(C)A.DestroyWindow();B.deletethis;C.DestroyWindow();deletethis;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(intnIndex,LPTSTRlpszBuffer),下面的说法哪个是正确的(C)A.取列表框中选中项的内容B.取列表框中选中项的索引C.取列表框中索引为nIndex的内容,送lpszBufferD.取列表框中内容为lpszBuffer的索引,送nIndex20.关于函数CButton::SetCheck(1),下面的说法哪个是正确的(A)A.设置复选按钮为选中状态B.设置复选按钮为非选中状态C.设置复选按钮为不确定状态D.该函数不能设置复选按钮状态21.关于对话框应用程序的初始化代码,下面哪个说法是正确的(B)A.初始化代码应放在WinMain()函数中3B.初始化代码应放在OnInitDialog()函数中C.初始化代码应放在对话框类的构造函数中D.初始化代码应放在用户自定义函数中22.关于函数CProgressCtrl::SetPos(intnPos),下面的说法哪个是正确的(C)A.设置进展条的步长B.设置进展条范围的上限C.设置进展条初始位置D.返回进展条当前位置23.关于函数CListBox::GetItemDataPtr(intnIndex),下面的说法哪个是正确的(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.窗口生成后调用4C.窗口消失前调用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)A.滑动条的刻度线有25根B.滑动条的刻度线有26根C.滑动条的刻度线有4根D.滑动条的刻度线不确定37.定义逻辑字体的结构变量,下面哪个定义是正确的?(B)A.CFontcfB.LOGFONTlfC.COLORREFrcD.LOGBRUSHcp38.设有定义CRectre(10,20,50,60),下面哪个说法是正确的?(A)A.定义的矩形左上角顶点坐标是(10,20),右下角顶点坐标是(50,60)B.定义的矩形左下角顶点坐标是(10,20),右上角顶点坐标是(50,60)C.定义的矩形右上角顶点坐标是(10,20),左下角顶点坐标是(50,60)D.定义的矩形右下角顶点坐标是(10,20),左上角顶点坐标是(50,60)39.下列说法正确的是(B)A..内联函数在运行时是将该函数的目标代码插入每个调用该函数的地方B.内联函数在编译时是将该函数的目标代码插入每个调用该函数的地方C.类的内联函数必须在类体内定义D.类的内联函数必须在类体外通过加关键字inline定义40.下列关于虚基类的描述,错误的是(B)A.设置虚基类的目的是为了消除二义性B.虚基类的构造函数在非虚基类之后调用C.若同一层中包含多个虚基类,这些虚基类的构造函数按它们说明的次序调用D.若虚基类由非虚基类派生而来,则仍然先调用基类构造函数,再调用派生类的构造函数二、添空题1.在面向对象方法中,类之间共享属性和操作的机制称为____继承____。2.通过使用new和delete两个运算符进行的分配为动态存储分配。3.在面向对象的程序设计中,类描述的是具有相似性质的一组对象。4.在C++中封装性、继承性和多态性是面向对象思想的主要特征。5.MFC框架程序是从WinMain函数开始执行的。6.一个const对象只能访问const成员函数。7.静态成员函数、内联函数和构造函数不能声明为虚函数。8.在函数体之前加const关键字可以防止覆盖函数,改变数据成员的值。9.设在程序中使用如下语句申请了一个对象数组:Point*ptr=newPoint[2];,则在需要释放ptr指向的动态数组对象时,所使用的语句是delete[]ptr;。10.设有下列代码inta=0;doubleb=0;cinab;当用键盘输入1.25时,b=0.25。11.CWnd的成员函数GetCheckedRadioButton的功能是返回按钮组中被选中按钮的ID。12.消息WM_COMMAND的参数wParam的高位字是控件的通知代码。13.消息映射宏DELCARE_MESSAGE_MAP的作用是用来声明对消息映射的支持。14.CComboBox的成员函数GetCurSel(),在组合框中没有选项时返回CB_ERR。15.CListBox的成员函数InsertString(-1,“辽宁省”),把“辽宁省”添加到
本文标题:面向对象程序设计C++复习题
链接地址:https://www.777doc.com/doc-7027988 .html