2020-2021《C++程序设计》期末课程考试试卷B(含答案)_第1页
2020-2021《C++程序设计》期末课程考试试卷B(含答案)_第2页
2020-2021《C++程序设计》期末课程考试试卷B(含答案)_第3页
2020-2021《C++程序设计》期末课程考试试卷B(含答案)_第4页
2020-2021《C++程序设计》期末课程考试试卷B(含答案)_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2020-2021C+程序设计期末课程考试试卷B一、单项选择,(每题2分,共12分)1 .关于构造的叙述正确的是A.最先构造虚基类B.最先构造基类C.最先构造派生类的对象成员D,都不对2 .建立派生类对象时,3种构造函数分别是a(基类的构造函数)、b(成员对象的 构造函数)、c (派生类的构造函数)这3种构造函数的调用顺序为:A. abc B. acbC. cabD. cba3 .使用friend、virtual、static说明函数的叙述正确的是A.必须同时使用三个B.只能同时使用其中两个C.只能独立单个使用D.都不对4 .下面对静态数据成员的描述中,正确的是:A.静态数据成员可以在类体内进

2、行初始化B.静态数据成员不可以被类的对象调用C.静态数据成员不能受private控制符的作用D.静态数据成员可以直接用类名调用5 . 一个类的友元函数能够访问该类的 0A.私有成员B.保护成员 C.公有成员 D.所有成员6 .假定AB为一个类,则该类的拷贝构造函数的声明语句为A. AB &(AB x)B. AB (AB x)C. AB (AB &)D. AB (AB * x)二、简答题(每)5分洪20分)1.指出面向对象编程的四大主要特点及各自含义?2 ,什么是重载函数,怎样区分?3 .解释Public, Private和Protected的联系与区别?4 .什么是析构函数,它

3、和构造函数的区别是什么?三、指出下列各成员在不同类中的访问属性(共10分)class A public: int a;protected: void fl ();private: int b;class C: Public B public:void f4 ();private: int d;;class B: Protected A public:void f2 ();protected:void f3 ();private: int c;););aflbf2f3cf4d类A类B类C四、看程序,写结果。(每题7分,共21分)1、#include<iostream. h>class

4、 Apublic: A() cout<< 'A' ;class Bpublic: B() cout« 'B' ; ;class C:public Apublic: C() cout« 1 C1 ; ;class D:virtual public B,public Cpublic: D() cout« 'D' ; ;class E:public A Public: C c; E() cout« 'E' );Class F:virtual public B,public D,publ

5、ic E Public: F() cout«, F' ;void main() A a; cout«endl; B b; cout«endl; C c; cout«endl; D d; cout«endl; E e; cout«endl; F f; cout«endl; ) 2、 Class A Public: A() cout«n constructing A" «endl; 、A() cout«n destructing A" «endl; ;Class

6、 B:public A Public: B() cout«n constructing B" «endl; B() cout«n destructing Bn «endl; ;Class C:public B Public: C() cout«n constructing C” «endl; 、C() cout«n destructing C" «endl; ;程序结果是(注意格式) 3、#include<iostream. h>class Apublic:A() )A(int a)

7、 x=a;A (A &a) x=+a. x;void disp () cout«z,x=,«x«endl; int x;void main() A sl(2),s2(sl);51. disp();52. disp() ; )五、编程序(共35分)1 .重载运算符” >>”和运算符“ <<“,用" cin»"输入两行两列的数组, 用" cout«”输出两行两列的数组.(9分)2 .如下复数类说明了四个成员函数,请详细定义这四个函数的函数体。(共12 分)Class complex pr

8、ivate: double real, imag ;Public:Complex (double r=0; double i=0);Complex operator+ (complex &c);Complex operator+() ;/复数的实部和虚部加1Complex operator ()/将实部和虚部的符号求反;3 .为了没有误差地表示分数,定义类Fraction来表示分数,请编程实现分数类 中的除Cmd外的所有函数。(五个函数,共14分)Class Fraction / 对于 6 / 7, numerator 是分子 6, denominator 是分母 7Int numer

9、ator, denominator;Int Cmd(int x, int y) ; /求整数x, y的最大公约数Public:Int operator> (Fraction &f) ; / 大于比较,例 6/7 > 2/3Fraction (int num, int den) ; / num, den 各为分子和分母Fraction operator # () ;/ 分数约简,#30/36=5/6Fraction operator+ (Fraction &f) ; / 加法,6/7 + 2/3 =32/21Fraction operator* (Fraction &

10、amp;f) ; / 乘法,6/7 * 2/3 = 12/21 =4/7;2020.2021C+程序设计期末课程考试试卷B答案一、单项选择题(每题2分,共12分)1. A 2. A 3. C 4. D 5. D 6. C简答题(每5分洪20分)1 .抽象,封装,继承,多态。2 . C+允许用同一函数名定义多个函数,这些函数的参数个数和参数类型不同。3 . Public:公用继承Protected:保护继承Private:私有继承4 .析构函数的作用并不是删除对象,而是在撤消对象前做些清理工作。三、指出下列各成员在不同类中的访问属性(共10分)aflbf2f3Cf4d类A公用保护私有类B保护保护

11、不可访问公用保护私有类c保护保护不可访问公用保护不可访问公用私有四、看程序,写结果(每题7分,共21分)1. A , B , AC, BACD,AACE, BACACDAACEF2. constructing A constructing B constructing Cdestructing C destructing B destructing A3. X=3, X=3五、编程序(共35分)1. class complex public: complex() real=0; imag=0; complex(double r, double I) real=r; imag=I; privat

12、e: double real, imag; ;void main() complex cl (3,4); double d;d=2. 5+cl; cout«d;2. class matrix public:Matrix () for(int i=0; i<2; i+)For( int j=0; j<2; j+) matij=0; Friend matrix operator+(matrix &a, matrix &b) matrix c;For (int i=0; i<2; i+)For(int j=0; j<2; j+) c. matij=a

13、. matij+b. matij; Return c;)Void input () for (int i=0; i<2; i+)For(int j=0; j<2; j+) cin»mati j;Void output () for(int i=0; i<2; i+)For(int j=0; j<2; j+) cout«mati j;)Private: int mat22;);Void main() matrix a, b, c;a. input () ; b. input ();a. output () ; b. output ();c=a+b; c

14、. output ();)3. class person public: person( string nam, char s, int a) name=nam; sex=s; age=a; protected: string name; char sex; int age;class teacher: virtual public person public: teacher( string nam, char s, int a, string t) : person(nam, s, a)title=t; protected: string title;);class student : v

15、irtual public person public: student ( string nam, char s, int a, float sco): person( nam, s, a), score (sco) protected: float score;);class graduate: public teacher, public student public:graduate (string nam, char s, int a, string t, float sco, float w);person (nam, s, a), tezhcer (nam, s, a, t), student (na

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论