刘立嘉-信1106_34-面向对象程序设计-L090014-试卷A

上传人:zw****58 文档编号:47214361 上传时间:2018-06-30 格式:PDF 页数:6 大小:153.87KB
返回 下载 相关 举报
刘立嘉-信1106_34-面向对象程序设计-L090014-试卷A_第1页
第1页 / 共6页
刘立嘉-信1106_34-面向对象程序设计-L090014-试卷A_第2页
第2页 / 共6页
刘立嘉-信1106_34-面向对象程序设计-L090014-试卷A_第3页
第3页 / 共6页
刘立嘉-信1106_34-面向对象程序设计-L090014-试卷A_第4页
第4页 / 共6页
刘立嘉-信1106_34-面向对象程序设计-L090014-试卷A_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《刘立嘉-信1106_34-面向对象程序设计-L090014-试卷A》由会员分享,可在线阅读,更多相关《刘立嘉-信1106_34-面向对象程序设计-L090014-试卷A(6页珍藏版)》请在金锄头文库上搜索。

1、第 1页(共 6页)石家庄铁道大学石家庄铁道大学 2020202011111111-201-201-201-2012 2 2 2 学年第学年第 2 2 2 2 学期学期2011 级本科班期末考试试卷级本科班期末考试试卷级本科班期末考试试卷级本科班期末考试试卷(A)(A)(A)(A)课程名称:面向对象程序设计任课教师:考试时间: 120 分钟学号:姓名:班级:考试性质(学生填写学生填写) :正常考试( )缓考( )补考( )重修( )提前修读( )题号一二三四五总分满分1515121246100得分阅卷人一一、单项选择题:在每小题列出的四个选项中只有一个选项是符合题目要求的,请、单项选择题:在每

2、小题列出的四个选项中只有一个选项是符合题目要求的,请 选择选择正确选项正确选项。 (每小题(每小题 1.51.51.51.5 分,共分,共 15151515 分)分) 1.下列关于 C+引用的叙述中,错误的是。 A) 声明一个引用时,必须同时对它进行初始化 B) 一旦一个引用被初始化后,就不能改为指向其他对象 C) 一旦一个引用被初始化后,还可以改为指向其他对象 D) 引用是一种特殊类型的变量,可以被认为是另一个变量的别名 2.下列关于类和对象的叙述中,错误的是。 A) 一个类只能有一个对象B) 对象是类的具体实例 C) 类是对某一类对象的抽象 D) 类和对象的关系是一种数据类型与变量的关系

3、3.在 C+中,用于实现运行时多态性的是。 A) 内联函数B) 重载函数C) 模板函数D) 虚函数 4.不是在调用时发生控制转移,而是在编译时将函数体嵌入在每一个调用 处。 A) 虚函数B) 重载函数C) 模板函数D) 内联函数 5.有如下类声明, 则类 MyDERIVED 中保护的数据成员和成员函数的个数是。 class MyBASE private:intk; public:voidset(int n) k=n; intget( )const return k; ; class MyDERIVED: protected MyBASE protected:intj; public:voids

4、et(int m, int n) MyBASE:set(m);j=n; intget( ) const return MyBASE:get( )+j; ; A) 4B) 3C) 2D) 1第 2页(共 6页)6.执行如下的程序段后,输出结果是。 cout.fill(*); cout.width(6); cout.fill(#);cout fun();二二、填空填空题题( (每空每空 1.51.5 分,共分,共 1515 分分) ) 1.面向对象程序设计有四个主要特点,即抽象、封装、和。 2.非成员函数应声明为类的函数才能直接访问这个类的 private 成员。 3.派生类中的成员不能直接访问基

5、类中的成员。 4.在用 class 定义一个类时,数据成员和成员函数的默认访问权限是。 5.基类派生新类时,类的继承有 public、和三种方式。 6.在表达式 x+y*z 中, +是作为成员函数重载的运算符, *是作为非成员函数重载的 运算符。则 operator+ 有个参数,operator* 有参数。 7.含有纯虚函数的类称为。三、程序分析题:阅读下列程序,写出输出结果。三、程序分析题:阅读下列程序,写出输出结果。( ( ( (每小题每小题 4 4 4 4 分,共分,共 12121212 分分) ) ) )第 3页(共 6页)1.写出执行下面程序的输出结果。 #include using

6、 namespace std; void fun(int x=y; y=t; int main( ) int a2 = 23, 42; fun(a0,a1); cout using namespace std; classA public: A() cout using namespace std; class Base private:char c; public:Base(char n):c(n) virtual Base( ) cout using namespace std; class counter private: int n; public: counter() n=0; co

7、unter(int i) /运算符重载函数 counter t; t.n=n+c.n; return t; void disp() cout using namespace std; class Base public: void fun( ) coutfun( ); return 0; 3.下列程序是一个类模板,请将程序补充完整,共 4 个空。第 5页(共 6页)#include using namespace std; struct Student /结构体 Student int id;/学号 float gpa;/平均分 ; template /实现对任意类型数据进行存取 class

8、Store private: item;/ item 用于存放任意类型的数据 bool haveValue;/ haveValue 标记 item 是否已被存入内容 public: Store();/构造函数 T /提取数据函数 void putElem(const T /存入数据函数 ; /以下实现各成员函数。 template /构造函数的实现 Store:Store(): haveValue(false) template /提取数据函数的实现 T /将 haveValue 置为 true,表示 item 中已存入数值 /将 x 值存入 item int main( ) Store s1

9、, s2; s1.putElem(3); s2.putElem(-7); cout s1.getElem() “ s2.getElem() endl; Student g = 1000, 23 ; s3;第 6页(共 6页)s3.putElem(g); cout “The student id is “ s3.getElem().id endl; return 0; 五、程序设计题(共五、程序设计题(共 46464646 分)分)1.(14 分)编写一个程序计算“三角形、正方形、圆形”三种图形的面积,要求: (1) 定义抽象基类 Shape,要求在其中声明求面积的纯虚函数; (2) Shape

10、 基类分别定义三个派生类 “三角形(Triangle)、正方形(Square)、圆形 (Circle)” ; (3) 编写面积函数,要求用基类指针求解对象面积;并在主函数中定义如下对象 进行测试; Circle circle(12.6);/12.6 为半径 Square square(3.5);/3.5 为边长 Triangle triangle(4.5,8.4);/4.5 为底边长,8.4 为高2.(10 分)设计一个日期类 Date,要求其满足下述要求: (1) 要求有分别表示年、月、日的私有数据成员; (2) 要求有一个无参的构造函数,其初始的年、月、日分别为:2012,6,8; (3)

11、 要求有一个带参数的构造函数,其参数分别对应年、月、日; (4) 要求用一个成员函数实现日期的设置; (5) 要求用一个成员函数实现输出日期,输出格式如“2012 年 6 月 8 日” ; (6) 要求用一个成员函数实现日期的获取;3.(10 分)定义一个复数类 Complex,要求其满足下述要求: (1) 要求有分别表示复数实部和虚部的私有数据成员 real、imag; (2) 要求有一个带 2 个参数的构造函数,其参数分别对应复数实部和虚部; (3) 要求重载运算符“-”实现两个复数相减; (4) 要求用一个成员函数 show 实现输出复数,输出格式如“2+3i” ; (5) 要求编写测试程序对设计的复数类进行功能测试;4.(12 分)定义一个三维点类 Point,私有数据成员包含 x、y、z 三维坐标,并定 义相应的成员函数,声明一个实例 p1,其三维坐标为 x=1、y=2、z=3,使用 I/O 流把p1 的坐标写入磁盘文件file1.dat, 再声明另一个实例p2, 通过读文件file1.dat 把 p1 的坐标赋给 p2。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号