2023年面向对象程序设计技术往届试卷.doc
《2023年面向对象程序设计技术往届试卷.doc》由会员分享,可在线阅读,更多相关《2023年面向对象程序设计技术往届试卷.doc(11页珍藏版)》请在咨信网上搜索。
《面向对象程序设计技术》试卷1 一、单项选择题(每小题1分,共20分) 1、假定MyClass为一个类,则执行“” MyClass a[3],*p[2];”语句时,自动调用该类构造函数的次数为( B ) A、2 B、3 C、4 D、5 2、对于类中定义的成员,其隐含访问权限为( B ) A、protected B、private C、public D、 static 3、一个类的友元函数或友元类可以通过成员操作符访问该类的( B ) A、私有成员 B、所有成员 C、公用成员 D、保护成员 4、下面说法对的的是( A ) A、构造函数可以重载,析构函数不能重载。 B、构造函数不能重载,析构函数可以重载。 C、构造函数可以重载,析构函数也可以重载。 D、构造函数和析构函数都不可以重载。 5、下列语句的运营结果为( D ) #include <iostream.h> srtuct COMPLEX { int x; int y; } cNum[2]={1,3,2,7}; void main() { cout<< cNum[0] .y*cNum[1] . x<<endl; } A、3 B、2 C、21 D、6 6、类AB的缺省构造函数和析构函数是( A ) A、AB( )和~AB( ) B、AB(int)和~AB( ) C、AB( )和~AB(delete ) D、AB( )和int~AB( ) 7、在C++中,若对函数未加说明,则函数的隐含类型是( A ) A、int B、double C、void D、char 8、已知类A是类B的友元,类B是类C的友元,则( D ) A、类A一定是类C的友元 B、类C一定是类A的友元 C、类C的成员函数可以访问类B的对象的任何成员 D、类A的成员函数可以访问类B的对象的任何成员 9、下列说法中对的的是( B ) A、类定义中只能说明函数成员的函数头,不能定义函数体 B、类中的函数成员可以在类体中定义,也可以在类体之外定义 C、类中的函数成员在类体之外定义时必须要与类声明在同一文献中 D、在类体之外定义的函数成员不能操作该类的私有数据成员 10、以下不属于成员函数的是( B ) A、静态成员函数 B、友元函数 C、构造函数 D、析构函数 11、对于消息队列的描述对的的是( D ) A、在Windows中只有一个消息系统,即系统消息队列。消息队列是一个系统定义的数据结构,用于临时存储消息。 B、系统可从消息队列将信息直接发给窗口。此外,每个正在Windows下运营的应用程序都有自己的消息队列。 C、系统消息队列中的每个消息最终都要被USER模块传送到应用程序的消息队列中去。应用程序的消息对列中存储了程序的所有窗口的所有消息。 D、以上都对的 12、一个视图对象能连接( A )文档对象,一个文档对象能连接( A )视图对象。 A、一个,多个 B、多个,一个 C、一个,一个 D、多个,多个 13、MFC类库中的类按层次关系可知,CStatic 的直接父类为( B ) A、CObject B、CWnd C、CcmdTarget D、CFrameWnd 14、可以运用控件的( C )属性和Tab键顺序来为控件分组。 A、ID B、Tab stop C、Group D、Caption 15、根据对话框的行为性质,对话框可以分为两类:( B ) A、对话框资源和对话框类 B、模式对话框和非模式对话框 C、对话框资源和对话框模板 D、消息对话框和模式对话框 16、以下控件中,( C )没有Caption属性。 A、按钮 B、群组框 C、编辑控件 D、静态控件 17、菜单项助记符前用( B )引导。 A、% B、& C、# D、$ 18、更新菜单状态的消息是( C )。 A、WM_COMMAND B、UPDATE C、ON_UPDATE_COMMAND_UI D、INVALIDATE 19、关于工具栏、菜单和加速键的关系,对的的说法是( A )。 A、工具按钮与菜单必须一一相应 B、工具按钮与加速键一一相应 C、工具按钮不必与菜单一一相应 D、菜单与加速键一一相应 20、使用GetWindowDC( )和GetDC( )获取的设备上下文在退出时,必须调用( A )释放设备上下文。 A、ReleaseDC( ) B、delete( ) C、DeleteDC( ) D、Detach( ) 二、填空题(每空1分,共25分) 1、VC++开发环境中,int型数据占4个字节,short int占 2 个字节,long int 占___4__个字节。 2、若for循环的“头”为“for(int i=1;i<10;i++)”,并且在循环体中不会修改i的值,则循环体将被反复执行__9__次后结束。 3、两个函数的函数名__相同__,但参数的个数或相应参数的类型__不同__时,则称为重载函数。 4、若ch为char型变量,n为int型变量,则下列语句 ch = ’a’; n = 3; ch = ch + n; cout<<” ch = ”<< ch; 执行的结果是__ ch=d ___。 5、C++中函数的参数传递一种是按值传递,另一种是地址传递或__引用__传递。 6、C++运营时的多态性通过___虚函数___来实现,而编译时的多态性通过___ 函数重载__来实现。 7 只读成员函数用_const_关键字标记,内联成员函数用_ inline _关键字标记。 8、 class test{ public: static int x; }; test t1,t2; t1.x = 25; 程序运营到这里时,t2.x的值为__25___。 9、所有的文档类都派生于_Cdocument_,所有的视图类都派生于:_ CView _。 10、为解决多继承中因公共基类而产生的二义性问题,C++语言提供了_虚基类_机制。将公共基类声明为它以后,它在派生类中只产生一个实例。 11、在代码中,使用CWnd::_ UpdateData _函数可实现控件与其成员变量之间的数据的传输。 12、列表框ClistBox类的成员函数_ AddString _用来向列表框增长列表项,成员函数_ ResetContent _用来清除列表项所有项目。 13、:_ 串行化_ 是指将对象写入永久存储介质或者将对象从永久存储介质中读出的过程。 14、Windows程序中的消息有窗口消息、命令消息和_控件告知_消息三种类型。 15、MFC中的集合类涉及 数组 、 列表(链表) 、映射(顺序可变) 。 16、在进行绘图时, 画刷 用于指定图形的填充样式, __画笔_用于指定图形的边框样式。 三 选择填空题(每空1分,共15分) 1、假如在基类和派生类中都包含其他类的对象(即有对象成员),则在创建派生类的对象时,一方面执行 A 的构造函数,接着执行 C 的构造函数,然后执行__B__的构造函数,最后才执行 D 的构造函数。 A、基类的对象成员 B、派生类的对象成员 C、基类 D、派生类 2、 B 代表窗口客户区的显示设备上下文, C 代表整个窗口的显示设备上下文。 A、CPaintDC B、CClientDC C、CWindowDC D、CMetaFileDC 3、消息循环的解决过程如下: A 函数不断侦察应用程序的消息队列,若队列为空,该函数一直运营,不返回;一旦发现队列不为空,便取出一条消息,把它拷贝到msg结构变量中,同时该函数返回TRUE;得到消息msg后, B 把来自键盘的命令翻译成WM_XXX消息命令形式。 E 函数告知Windows把每个消息分发给相应的窗口函数。应用程序并不直接调用窗口函数,而由Windows根据消息去调用窗口函数,因此,窗口函数经常被称为回调函数。 A、GetMessage( ) B、translateMessage( ) C、PostMessage( ) D、SendMessage( ) E、DispatchMessage( ) 4、常用的CButton类的成员函数中: A 获得一个按钮控件的选中、选择和 聚焦状态; D 得到一个按钮的选中状态; C 设立一个按钮的选中状态。 A、GetState( ) B、SetState( ) C、SetCheck( ) D、GetCheck( ) E、GetButtonStyle( ) 5、滚动条类CScrollBar的成员函数规定了滚动条的操作。设立滚动条的范围使用 C 函数,设立滚动块的位置使用 E 函数,获取滚动块的当前位置使用 F 函数。 A、SetPos B、SetRange C、SetScrollRange D、GetPos E、SetScrollPos F、GetScrollPos G、 GetScrollRange 四 写出下列程序的运营结果(每小题5分,共15分) 1、 .#include<iostream.h> class A{ int *a; public: A(int x){ a=new int(x); cout<<"*a="<<*a<<endl; delete a; } }; void main() { A x(3), *p; p=new A (5); delete p; } 答:*a = 3 *a = 5 2、class test{ private: int num; public: test(); int GetNum() { return num;} ~test(); }; test::test(){ num=0; } test::~test() { cout<<″Destructor is active″<<endl; } void main() { test x[3]; cout<<″Exiting main″<<endl; } 答:Exiting main Destructor is active Destructor is active Destructor is active 3、 #include<iostream.h> class A { public: virtual void fun() { cout<<"I'm class A"<<endl; } }; class B: public A{ public: void fun() { cout<<"I'm class B"<<endl; } }; class C: public B{ public: void fun() { cout<<"I'm class C"<<endl; } }; void main() { A a,*pA=&a; pA->fun(); B b; pA=&b; pA->fun(); C c; a=c; a.fun(); A &aRef=c; aRef.fun(); } 答:I'm class A I'm class B I'm class A I'm class C 五、完毕程序题(本大题共3小题,每空2分,共12分)。根据题目规定,完毕程序填空。 1、在下面程序的横线处填上适当字句,使该程序执行结果为6。 #include <iostream.h> class base{ int X; public: ___ void init(int i ) { X=i;}___//为X置值 ___ int GetNum() { return X;}___//取X值 }; void main() { base test; test.init(6); cout<<test.GetNum(); } 2、一个类的头文献如下所示,主程序中产生对象T,且T.num=10,并使用Print()函数输出这个对象的值。 class test{ private: int num; public: test(int); void Print(); }; test::test(int n){ num=n; } void test::Print(){ cout<<num<<endl; } #include<iostream.h> void main() { __ test T ( 10 )__; __ T.print ( )__; } 3、在下面横线处填上适当字句,完毕类中成员函数的定义。 class A{ int * a; public: A(int x=0) { a=__ new int(x)__;//用x初始化a所指向的动态对象 } ~A(){__delete a _;}//释放动态存储空间 }; 六、程序设计题(1题4 分,2题9 分,共13分) 1、简朴的计算程序界面如下图所示,操作数1相应编辑框控件的ID为 IDC_EDIT1,相应值类型的成员变量m_op1(int);操作数2相应编辑框控件的ID为IDC_EDIT2,相应值类型的成员变量m_op2(int);计算结果相应的编辑框控件的ID 为IDC_EDIT3,相应值类型的成员变量m_result(int)。 假设输入的数为整数,加法按钮的功能是将两操作数相加,并将结果在相应的编辑框IDC_EDIT3显示出来。写出加法按钮相应的代码。 void CExDlg::OnButton1() { UpdateData(TRUE); m_result = m_op1 + m_op2; UpdateData(FALSE); } 2、为学员信息设计一个类CStudent,包含:学号、姓名、出生日期、家庭住址、班级,并使该类可以实现串行化。请写出可以实现规定的CStudent.h和CStudent.cpp文献的内容 //CStudent.h class CStudent :public CObject { 1分 public: CString Num; CString Name; CTime Birth; CString Address; CString Grade; 2分 DECLARE_SERIAL(CStudent) // 使对象可串行化 1分 virtual void Serialize( CArchive & ar ); //重载串行化函数 1分 }; // CStudent.cpp IMPLEMENT_SERIAL(CStudent ,CObject, 0) 1分 void CStudent:Serialize(CArchive & ar) { CObject::Serialize(ar); 1分 if ( ar.IsStoring() ) { ar<<Num<<Name<< Birth <<Address<<Grade; 1分 } else { ar>>Num>>Name>> Birth >>Address>>Grade; 1分 } }- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2023 面向 对象 程序设计 技术 试卷
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文