欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    第八章类和对象复习题(14页).doc

    • 资源ID:51389151       资源大小:167KB        全文页数:14页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第八章类和对象复习题(14页).doc

    -第八章 类和对象 复习题-第 14 页第八章 类和对象 复习题1.系统为每个类提供一个this指针,在类的成员函数内,通过this指针可以间接访问这个类的( )A.在public段中声明的友元 B.所有成员C.友元类的public成员 D.所有派生类中的public成员2如果在class类的定义中既不指定private,也不指定public,则系统就默认为( )A. private B. publicC. protected D. 不确定3. 对静态数据成员的描述, 正确的是( )A. 静态数据成员可以在类体内进行初始化B. 静态数据成员不可以被类的对象调用C. 静态数据成员不能受private控制符的作用D. 静态数据成员可以直接用类名调用4. 下面叙述错误的是( )A. 基类的protected成员在派生类中仍然是protected的B. 基类的protected成员在public派生类中仍然是protected的C. 基类的protected成员在private派生类中是private的D. 基类的protected成员不能被派生类的对象访问5.对于友元函数的描述,正确的是( )A. 友元函数的实现必须在类的内部定义B. 友元函数是类的成员函数C. 友元函数破坏了类的封装性和隐藏性D. 友元函数不能访问类的私有成员6.关于内联函数的描述,正确的是( )A.使用内联函数可以缩短程序代码,减少占用的内存空间B.使用内联函数可以减少函数调用时入栈和出栈的时间和空间开销,但是会使程序的代码量增加C.内联函数只能在类的内部进行声明和定义,不能作为全局函数D.内联函数可以做虚函数7. 类是对象的( ) A. 具体 B. 抽象C. 封装 D. 多态8. struct声明类时,若不作private或public声明,系统默认为( ) A. private B. public C. protected D. 不能确定9.引入内联函数的主要目的是( )A.缩短程序代码,少占用内存空间B.既可以保证程序的可读性,又能提高程序的运行效率C.占用内存空间少,执行速度快D.使程序的结构比较清晰10. 类的具体表现是通过定义 来操作的。对象11说法错误的是( )A一个类是由一批数据以及对其操作的函数组成B类中数据和函数可以分为private和public两大类C具有“类”类型特征的变量称为“对象”类中私有成员函数可以被其他类中的成员函数所调用12如果用struct声明类时,对其成员既不指定private,也不指定public,则系统就默认为( )A. private B. public C. protected D. 不确定13在声明类类型时,声明的次序是( )A.先声明private部分,再声明public部分B. 先声明public部分,再声明private部分C. 声明public部分和声明private部分不能同时出现D. 既可以先声明private部分,也可以先声明public部分14. 关于类的友元函数的描述,正确的是 ( ) A.友元函数可以被继承B.一个类的友元函数可以访问这个类的所有成员C.一个类的友元函数必须在这个类中定义成内联函数D.一个类的友元函数的返回类型必须是这个类的类型标识符15在一个类中( )A只能有数据成员 只能有成员函数C可以有数据成员和成员函数 只能有数据成员或只能有成员函数16.下列特性中,不是面向对象程序设计的特征的是( )A.继承 B.内联函数C.多态性 D.封装17在声明类类型时,声明的次序是( )A.先声明private部分,再声明public部分B. 先声明public部分,再声明private部分C. 声明public部分和声明private部分不能同时出现D. 既可以先声明private部分,也可以先声明public部分18下列说法正确的是( )A. 类是对象的抽象,对象是类的具体实例B. 对象是类的抽象C.类是对象的具体实例D. 对象是类的模板19. 类是对具有共同属性和行为的一类事物的抽象描述,共同属性被描述为类中的数据成员,共同行为被描述为类中的 。 成员函数20. 在一个函数的定义或声明前加上关键字 时,该函数就声明为内联函数。 inline21. 单目运算符作为类成员函数重载时没有参数;双目运算符作为 重载时只需声明其右操作数,作为友元函数重载时需声明全部操作数。 成员函数22. 当用protected继承从基类派生一个类时,基类的public成员成为派生类的protected成员,protected成员成为派生类的 成员。在类定义中,将 置于虚函数的函数原型的末尾可以将该函数声明为纯虚函数。protected =023. 类是对具有共同属性和行为的一类事物的抽象描述, 共同属性被描述为类中的  ,共同行为被描述为类中的成员函数。 数据成员24. 如果一个数组中的每个元素都是同一个类的对象,则该数组被称为 。对象数组25. 在C+语言中,每个对象都有一个隐含的指针叫做this指针,该指针指向 。对象自身26. 当一个类对象的成员函数被调用时,该成员函数的 指针指向调用它的对象。 this27. 在结构定义中,数据和成员函数默认权限是公有的。在类定义中,数据和成员函数默认权限是 。私有的28. 对类中的成员函数和属性的访问是通过 、protected和 这3个关键字来控制的。public private29仔细阅读程序,在题后写出其运行结果。#include <iostream>using namespace std;class Box public: Box(int w=10,int h=10,int len=10); int volume(); private: int height; int width; int length;Box:Box(int w,int h,int len) height=h; width=w; length=len;int Box:volume() return(height*width*length);int main() Box box1; cout<<"The volume of box1 is "<<box1.volume()<<endl; Box box2(5); cout<<"The volume of box2 is "<<box2.volume()<<endl; Box box3(5,3); cout<<"The volume of box3 is "<<box3.volume()<<endl; Box box4(5,3,2); cout<<"The volume of box4 is "<<box4.volume()<<endl; return 0;运行结果:1000 (2分)500 (1分)150 (1分)30 (1分)30. 根据输出结果,在程序中填入正确的语句。class Instrumentpublic: virtual void Print() constcout<<"Instrument:Print"<<endl;class Piano:public Instumentpublic: void Print() const cout<<"Piano:Print<<endl; ;class Guitar :public InstruImentpub1ic: void Print() constcout<<"Guiur:Print"<<endl;void Tone( ) void main() Guitar g; Tone(g); Piano p; Tone(p);输出结果为:Guitar:PrintPiano:Print33 #include <iostream.h> Instrument &obj obj.Print()  31下列程序通过把类Distance定义为类Point的友元类来实现计算两点之间距离的功能。请完成该程序。#include iostream.h>#include <math.h>class Pointpublic:   Point (  ) X=a; Y=b; void Print() cout<<"X="<<X<<endl; cout<<"Y="<<Y<<endl; private: float X,Y;class Distancepublic: float Dis(Point &p,Point &q);f1oat Distance:Dis(Point &p,Point &q)float result;cout<<result<<endl;return result;void main() Point p(10,10),q(20,20); Distance d; d.Dis(p,q);34friend class Distance float a, float b result=sqrt(p.X-q.X)*( p.X-q.X)+(p.Y-q.Y)*(p.Y-q.Y)32在下面程序的横线处填上适当的语句,使运行该程序执行结果为20。 class MyClasspub1ic: /为x置值  /取x值private: int x; void main() Myclass my(20); cout<<my.GetNum()<<endl; 33#include <iostream.h>或者"iostream.h” MyClass(int n) x=n; int GetNum()return x; 33. 下列程序的运行结果如下:Base's cons.Derived's cons.Derived's des.Base's des.根据结果将程序补充完整。#incude <iostream.h>class Basepublic: Base()cout<< <<endl; cout<<"Base's des."<endl;class Derived:public Basepublic: Derived()cout<<"Derived's cons."<<endl; Derived()cout<<"Derived's des."<<endl;void main() Base *Ptr= delete ptr; 34 “Base's cons.” Base() new Derived 34.分析下列程序,写出其运行结果。#include <iostream.h>class MyClasspublic: MyClass(int a)x=a; void Fun1()x+; void Fun2()x+=2; void Fun3()x+=3; void Print()cout<<"x="<<x<<end1;private: int x;void main()MyClass my(8);void (MyClass:*pf)();my.Print(); pf=MyClass:Fun1; (my.*pf)(); my.Print();pf=MyClass:Fun2; (my.*pf)(); my.Print();pf=MyClass:Fun3; (my.*pf)(); my.Print();运行结果:37 x=8 (2分)x=9 (1分)x=11 (1分)x=14  (1分)35仔细阅读程序,在题后写出其运行结果。#include <iostream>using namespace std;class Box public: Box(int h=10,int w=12,int len=15):height(h),width(w),length(len) int volume(); private: int height; int width; int length;int Box:volume() return(height*width*length);int main() int i; Box a3= Box(10,12,15), Box(15,18,20), Box(16,20,26) for (i=0;i<=2;i+) cout<<"volume of a"<<i<<" is "<<ai.volume()<<endl; return 0;运行结果:38 volume of a0 is 1000 (2分)volume of a1 is 5400 (2分)volume of a0 is 8320 (1分)36计算两个长方柱的体积,请编一个基于对象的程序,数据成员包括length(长)、width(宽)、height(高)。要求用成员函数实现以下功能。(1)由键盘分别输入两个长方柱的长、宽、高。(2)计算长方柱的体积。(3)输出2个长方柱的体积。#include <iostream>using namespace std;class Box (1分)public: void get_value(); (1分) float volume(); (1分) void display(); (1分) public: float lengh; float width; float height; (1分)void Box:get_value() (1分) cout<<"please input lengh, width,height:" cin>>lengh; cin>>width; cin>>height;float Box:volume() (1分) return(lengh*width*height);void Box:display() (1分) cout<<volume()<<endl;int main() Box box1,box2;box1.get_value();box1.display(); (1分)box2.get_value();box2.display(); (1分)return 0;37. 根据输出结果,在程序中填入正确的语句。 class Instrumentpublic: virtual void Print() constcout<<"Instrument:Print"<<endl;class Piano:public Instumentpublic: void Print() const ;class Guitar :public InstruImentpub1ic: void Print() constcout<<"Guiur:Print"<<endl;void Tone( ) obj.Print()  void main() Guitar g; Tone(g); Piano p; Tone(p);输出结果为:Guitar:PrintPiano:Print33 #include <iostream.h> cout<<"Piano:Print<<endl; Instrument &obj 38写出下列程序的运行结果。#include <iostream.h>class B1public: int Nv; void fun()cout<<“Member of B1.”<<endl;class B2public: int Nv; void fun()cout<<“Member of B2.”<<endl;class D1:public B1, public B2public: int Nv; void fun()cout<<“Member of D1.”<<endl;void main() D1 d1; d1.Nv=1;d1.fun(); d1.B1:Nv=2;d1.B1:fun(); d1.B2:Nv=3;d1.B2:fun();运行结果:38 Member of D1. (2分)Member of B1. (2分)Member of B2. (1分)39 在划线处填上适当的语句,完成下列程序。#include <math.h>class Pointpublic: Point(double a,double b,double c) X=a;Y=b;Z=c /构造函数 double Getx()return X; double Gety()return Y; double Getz()return Z;private: ;class Line : Pointpublic: Line(double a ,double b,double c,double d) K=d; void show()cout<<Getx()<<” ”;cout<<Gety()<<” ”;cout<<Getz()<<” ”;cout<<K<<endl;private: double K;void main() Line obj(1.2,3.4,5.6,7.8); obj.show();/运行结果是1.2 3.4 5.6 7.834 double X,Y,Z; pubic :Point(a,b,c) 40建立一个对象数组,内放5个学生的数据(学号,成绩),设立一个函数max,用指向对象的指针作函数参数,在max函数找出5个学生中成绩最高者,并输出其学号。 41.  #include <iostream>using namespace std; (1分)class Student public: Student(int n,float s):num(n),score(s) (1分) int num; float score; ; (1分)void main()Student stud5= Student(101,78.5),Student(102,85.5),Student(103,98.5), (1分) Student(104,100.0),Student(105,95.5); (1分) void max(Student* ); Student *p=&stud0; (1分) max(p); (1分) void max(Student *arr)float max_score=arr0.score; (1分) int k=0; for(int i=1;i<5;i+) if(arri.score>max_score) max_score=arri.score;k=i; (1分) cout<<arrk.num<<" "<<max_score<<endl; (1分)

    注意事项

    本文(第八章类和对象复习题(14页).doc)为本站会员(1595****071)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开