ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:18.04KB ,
资源ID:29546788      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/29546788.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(2学期 《面向对象方法》B卷.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

2学期 《面向对象方法》B卷.docx

1、2学期 面向对象方法B卷2005-2006-2学期 面向对象方法B卷 一 单项选择(本题共10小题,每题2分,共20分)1 C+中,封装体现在( )上。A指针 B. 类 C. 数组 D. 函数2以下属于C+中异常所使用的关键字的是( )A.exeption B.friend C.throw D.const3对于结构中定义的成员,其默认访问权限为( )A.public B.protected C.private D.static4.对于构造函数下列描述正确的是( )。 A.构造函数只能有一个 B.构造函数只能有私有(private)的 C.构造函数可以重载 D.构造函数只能有默认的5. 用于类中

2、虚成员函数说明的关键字是( )A. public B. virtual C. protected D. private6. 下面是关于一个类的友元的说法,其中正确的是( )A 友元函数不可以访问该类的私有数据成员B 友元的声明必须放在类的外部C 友元增强了类的封装性D 类与类之间的友元关系不可以被继承7.对于基类中的私有(private)数据成员,在其派生类中是( )数据成员。A. public B. 不可见 C. protected D. private8. 对于拷贝构造函数的描述中,正确的是( )A用户没有定义拷贝构造函数时,系统会产生一个默认的B对于类AB,当执行AB a; AB b =

3、 a;时,需要调用类AB的拷贝构造函数C默认拷贝构造函数什么事情都不做D拷贝构造函数的参数是指针类型9关于纯虚函数和抽象类的描述中,( )是错误的。A纯虚函数是一种特殊的虚函数,它没有具体实现 B抽象类中一定具有一个或多个纯虚函数C抽象类的派生类中一定不会有纯虚函数 D抽象类一般作为基类使用,其纯虚函数的实现由其派生类给出10关于模板的描述正确的是( )A函数模板的实例化是模板函数 B模板所使用的关键字是standardC函数模板就是一种函数 D类模板是一种类二 判断题(本题共5小题,每小题2分,共10分)1析构函数不能是虚函数( )2类类型数据成员只能在初始化符表中进行初始化( )3. 构造

4、函数和析构函数都可以重载,因为它们都是成员函数( )4面向对象方法具有三大特性:封装性、继承性和友元( )5.一元运算符,作为友元函数重载时需要声明操作对象作为形参;作为类成员函数重载时则不需要形参( )三填空题(本题共5小题,每空1分,共10分)1假定类AB中有一个公用属性的静态数据成员bb,在主函数中访问bb的写法为 。2.在c+中,文件输入/出流的头文件是 。3类A继承类B,则A称为B的 ,B称为A的 。4用户申请的内存(用new申请的空间)是在程序的 区;函数中局部变量在程序的 区。5C+中提供的类的默认成员函数有 、 、 、 等。四简答题与填空(本题共4小题,每小题5分,共20分)1

5、C+中new/delete取代了malloc/free,二者有什么区别。2C+类中有哪些成员函数不能是虚函数,一般情况下哪些函数定义为虚函数?3简述什么情况下必须定义拷贝构造函数,写出类AB的拷贝构造函数的声明?4简述纯虚函数的作用,对于类BC的纯虚成员函数virFun(),写出其声明?五程序阅读题(本题共3小题,第一小题6分,后两题各7分,共20分)2005-2006-2学期 面向对象方法B卷 参考答案一单项选择(本题共10小题,每题2分,共20分)15: BCACB 610: DBACA二判断题(本题共5小题,每小题2分,共10分)15: FTFFT三填空题(本题共5小题,每空1分,共10

6、分)1.AB:bb 2. fstream.h 3. 派生类、基类 4. 堆、栈 5. 构造函数、析构函数、拷贝构造函数、赋值运算符四简答题(本题共4小题,每题5分,共20分)1答:new/delete是C+中的关键字,且当使用它们申请或释放对象的堆内存空间时,会去调用构造函数或析构函数。而malloc/free是C语言提供的库函数,用malloc申请堆内存的函数的参数是类型的长度,如果是类对象的话,不会也调用类的构造函数,同理free也不会调用析构函数。2答:不能是虚函数的成员函数有:构造函数、内联函数、静态成员函数等,一般情况下析构函数定义为虚函数。3答:如果对象的数据成员包括指向堆空间的指

7、针,此时必须自定义拷贝构造函数;否则系统自带的默认拷贝构造函数只完成成员之间的位拷贝(浅拷贝),只有定义拷贝构造函数,为创建的对象分配堆空间。AB(const AB &a);4纯虚函数的作用就是为其派生类提供函数接口,在派生类中实现这个接口函数,从而实现多态。void virFun()=0;五程序阅读题(本题共3小题,第一小题6分,后两题各7分。共20分)1constructing constructinga=1.1 b=2.2 c=3.3 a=3 b=4 c=5 destructing destructing2. the number of wheels is 4 constructing

8、Vehicle mazda 6 the number of wheels is 6 constructing Vehicle Dongfeng 140 the end of main function destructing destructing3. the value is 2.33 5yuan66fen the value is 5.66五程序设计题(本题共2小题,每小题10分,共20分)1Animal:Animal(char *pname,char *voice) m_pStrName = new charstrlen(pname)+1; strcpy(m_pStrName,pname

9、); strcpy(m_StrVoice,voice); Animal:Animal (const Animal & a) m_pStrName = new charstrlen(p.m_pStrName)+1; strcpy(m_pStrName,p.m_pStrName); strcpy(m_StrVoice,a.m_StrVoice);Animal: Animal() delete m_pStrName;void Animal: shout() cout m_pStrName “s voice is ” m_StrVoice endl;2.class Circle:Shape publi

10、c: double area( ) Return 3.14*m_dR*m_dR; protected: double m_dR; class Rectangle:Shape public: double area( ) Return m_dX*m_dY; protected: double m_dX; double m_dY;1.#include class MyClass public:MyClass(double a,double b,double c) m_A = a; m_B = b; m_C = c; cout “constructiong ” endl;MyClass() cout

11、 “destructiong ” endl;void display() cout “a=” m_A “ b=” m_B “ c=“ m_C endl;private:double m_A,m_B,m_C; ;void main( ) MyClass m(1.1,2.2,3.3);MyClass n(3,4,5);m.display();n.display(); 2.#include #include class Vehicle public:Vehicle(char* type;int num):m_wh(num) strcpy(m_StrType,type); cout “construc

12、ting Vehicle ” m_StrType endl; private:char *m_StrType;Wheels m_wh; ; class Wheels public:Wheels(int num) m_Num = num;cout “the number of wheels is ” m_Num endl;Wheels() cout “destructing ” endl; private: int m_Num; ; void main() Vehicle v1(“Mazda 6”,4); Vehicle v2(“Dongfeng 140”,6); cout “the end o

13、f main function ” endl;3.#include class Currency public: Currency(double value) m_dValue = value;virtual display() cout “the value is ” m_dValue endl;private: double m_dValue; class RMB RMB(double value):Currency(value) m_nYuan = (int)value; m_nJiaofen = value m_nYuan;void display()cout m_nYuan “yua

14、n ” m_DJiaofen “fen ” display();六程序设计题(本题共2小题,每小题10分,共20分)1. 编写类Animal 的构造函数、析构函数、拷贝构造函数以及叫声函数shout。已知类Animal的声明部分为:class Animal public: Animal(char *pname,char *voice); Animal(); Animal(const Animal & a); void shout(); private:char * m_pStrName;char m_StrVoice10;主函数及程序输出结果为void main() Animal dog(“N

15、ick”,”wang wang”); Animal cat(“Galphie”,”miao miao”); Animal dogee = dog; dog.shout(); cat.shout(); dogee.shout();输出结果为:Nicks voice is wang wangGalphies voice is miao miaoNicks voice is wang wang2 .下列 Shape 类是一个表示形状的抽象类,area( ) 为求图形面积的成员函数,calArea( )则是一个通用的用以求不同形状的图形面积的函数。请从 Shape 类派生圆类 (Circle) 、矩形类(Rectangle),并给出具体的求面积函数。class Shape public: virtual double area( )=0; ; double calArea(Shape &s) return s.area();void main() Circle c(2.0); cout “The area is ” c.area() endl; Rectangle r(3,4); cout “The area is ” r.area() endl;输出结果为:The area is 12.56The area is 12

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1