收藏 分销(赏)

C++面向对象程序设计-期末考试试题.doc

上传人:a199****6536 文档编号:7211520 上传时间:2024-12-28 格式:DOC 页数:10 大小:70KB
下载 相关 举报
C++面向对象程序设计-期末考试试题.doc_第1页
第1页 / 共10页
C++面向对象程序设计-期末考试试题.doc_第2页
第2页 / 共10页
C++面向对象程序设计-期末考试试题.doc_第3页
第3页 / 共10页
C++面向对象程序设计-期末考试试题.doc_第4页
第4页 / 共10页
C++面向对象程序设计-期末考试试题.doc_第5页
第5页 / 共10页
点击查看更多>>
资源描述

1、资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。杭州电子科技大学学生考试卷( A) 卷考试课程面向对象程序设计考试日期 6月 日成绩课 程 号B1002100教 师 号任课教师姓名楼永坚考生姓名学号( 8位) 年级05专业050511/2/3座位号一、 判断题( 15分) ( 正确打, 错的打) 1. 友元函数用于允许一个函数访问不相关类的私有部分。2. 构造函数能够被继承。3. 动态绑定的多态性是经过虚函数实现的。4. 在c+中, 传引用调用等同于传地址调用。5. 重载函数必须有不同的参数列表。6. 能够用delete释放不是用new运算符分配的内存。7. 类成员的默认访问模式

2、是private。8. 在类Time中的析构函数能够声明为: void Time(int);9. const对象必须初始化。10. 在c+中, 只能重载已有的运算符。1) 2) 3) 4) 5) 6) 7) 8) 9) 10) 二、 选择题( 20分) 1) c 2) b 3) c 4) b 5) c 6) a 7) c 8) a 9) c 10) b11.二 、 选择题( 20分) 1. 关键字 _ 说明对象或变量初始化后不会被修改。 a. static b. public c. const d. inline2. 如果调用带有默认参数的函数时缺少一个参数, 则_参数就作为这一参数。 a.

3、第一个 b. 最后一个 c. 中间一个 d. 以上都不是3. 成员函数可声明为静态的, 条件是它不访问 _类成员。 a. 静态 b. 常数 c. 非静态 d. 公共4. 内联函数执行起来比标准函数_。a. 更慢 b. 更快 c. 次数更多 d. 以上都不是5. 默认参数的值由_提供。 a. 该函数 b. 调用程序 c. 上述二者 d. 以上都不是6. 在 C+ 中, 混合类型表示式_。a. 允许存在 b. 为一错误 c. 从 int 到 float d. 从 float 到 int7. 表示式 long(intVar) 也可表示为 _。a. intvar = long; b. intVar(l

4、ong) c. (long)intVar d. 以上都不是8. 静态数据成员的生存期_。a. 与整个程序相同 b. 不长于类的生存期 c. 取决于创立的对象数 d. 以上都不是9. 要让一个类中的所有对象具有共同的数据, 请使用_。a. 常数成员变量 b. 私有数据成员 c. 静态数据成员 d. 以上都是10. 设置虚基类的目的是: a.简化程序 b.消除二义性 c.提高运行效率 d.减少目标代码三 、 指出下列程序片段中的错误标号, 写出正确语句或解释错在何处。( 20分) int index=675; 1) *ptr=555; ptr是指向整数常量的指针ntptr=&another; nt

5、ptr是常量指针, 不能指向别的的变量2) int arrp; 应改为: int *arrp;delete arrp; 应改为: delete arrp;3) return basedata;/ 在border_and_menu中引用basedata时产生二义性, 应使用虚基类应改为: class border:virtual public window ;class menu: virtual public window ;1)const int *ptr=&index;int *const ntptr=&index;*ptr=555;*ntptr=666;int another=8;ptr

6、=&another;ntptr=&another;2) int arrp;arrp=new int15;delete arrp;3) 下面程序为什么会编译错误, 并改正错误( 提出解决办法) 。 class window protected: int basedata;class border: public window ;class menu: public window ;class border_and_menu: public border, public menu public: int show() return basedata; 4) 改正下面程序段中的错误, 写出整个正确的

7、程序段templatevoid print(T *a)coutan;void main( )const int x=0;coutyn;int y;x=5;int* pp=&y;print(p);return 0;四 、 写出下面程序的执行结果: ( 15分) 1) #include using namespace std;class Afriend double count(A&);public:A(double t, double r):total(t),rate(r)private:double total;double rate;double count(A& a)a.total+=a.

8、rate*a.total;return a.total;int main(void)A x(80,0.5),y(100,0.2);coutcount(x),count(y)n;coutcount(x)n;return 0;执行结果: 2) #include using namespace std;class Count private: static int counter; int obj_id; public: Count(); /constructor static void display_total(); /static function void display(); Count(

9、); /destructor ; int Count:counter; /definition of static data member Count:Count() /constructor counter+; obj_id = counter; Count:Count() /destructor counter-; coutObject number obj_id being destroyedn; void Count:display_total() /static function cout Number of objects created is = counterendl; voi

10、d Count:display() cout Object ID is obj_idendl; int main(void) Count a1; Count:display_total(); Count a2, a3,a4; Count:display_total(); a2.display(); a4.display(); return 0;3) #include using namespace std;class BASE char c; public: BASE(char n):c(n) virtual BASE()coutc; ; class DERIVED:public BASE c

11、har c; public: DERIVED(char n):BASE(n+1),c(n) DERIVED()coutc; ; int main(void) DERIVED(X); return 0; 五、 程序填空: ( 10分) #include using namespace std;class A_( 1) _char name80;public:A( _( 2) _ ) _( 3) _ ;class B_( 4) _public:B(const char*n)_( 5) _void PrintName( ) cout”name:”nameendl;void main( )B b1(”

12、Ling Li”);b1.PrintName( ) ; /执行结果: name: Ling Li六、 编程题( 20分) 1编写程序: 定义抽象基类Shape, 由它派生出五个派生类: Circle( 圆形) 、 Square( 正方形) 、 Rectangle( 长方形) 、 Trapezoid ( 梯形) 和Triangle ( 三角形) , 用虚函数分别计算各种图形的面积, 并求出它们的和。要求用基类指针数组。使它的每一个元素指向一个派生类的对象。 注: 主函数中定义如下对象Circle circle(12.6); Square square(3.5); Rectangle rectan

13、gle(4.5,8.4); Trapezoid trapezoid(2.0,4.5,3.2); Triangle triangle(4.5,8.4); 杭州电子科技大学学生考试卷( A) 答案考试课程面向对象程序设计考试日期 6月 日成绩课 程 号B1002100教 师 号任课教师姓名楼永坚考生姓名学号( 8位) 年级05专业050511/2/3座位号一、 判断题( 15分) 1) 2) 3) 4) 5) 6) 7) 8) 9) 10) 二、 选择题( 20分) 1) c 2) b 3) c 4) b 5) c 6) a 7) c 8) a 9) c 10) b三 、 指出下列程序片段中的错误

14、, 并解释错在何处。( 20分) 1) *ptr=555; ptr是指向整数常量的指针ntptr=&another; ntptr是常量指针, 不能指向别的的变量2) int arrp; 应改为: int *arrp;delete arrp; 应改为: delete arrp;3) return basedata;/ 在border_and_menu中引用basedata时产生二义性, 应使用虚基类应改为: class border:virtual public window ;class menu: virtual public window ;4) 整个正确的程序段( 参考) : #incl

15、ude /加本句template /加typenamevoid print(T *a)coutan;void main( ) int y=10; /y应先声明后使用, 并给初值const int x=0;coutyn;/x=5; x为const, 去掉该句int* p; p=&y;print(p);/return 0; main返回为void , 去掉该句四 、 写出下面程序的执行结果: ( 15分) 1) 2) 3) XY五、 程序填空: ( 10分) ( 1) protected:或public ( 2) const char *n ( 3) strcpy(name,n);( 4) : p

16、ublic A或: protected A ( 5) :A(n)六、 编程题( 20分) 1#include using namespace std;class Shapepublic: virtual double area() const =0; ;class Circle:public Shapepublic:Circle(double r):radius(r) virtual double area() const return 3.14159*radius*radius; protected: double radius; ;class Square:public Shapepubl

17、ic: Square(double s):side(s) virtual double area() const return side*side; protected: double side;class Rectangle:public Shapepublic: Rectangle(double w,double h):width(w),height(h) virtual double area() const return width*height; protected: double width,height; ;class Trapezoid:public Shapepublic:

18、Trapezoid(double t,double b,double h):top(t),bottom(t),height(h) virtual double area() const return 0.5*(top+bottom)*height; protected: double top,bottom,height; ;class Triangle:public Shapepublic: Triangle(double w,double h):width(w),height(h) virtual double area() const return 0.5*width*height; pr

19、otected: double width,height; ;int main() Circle circle(12.6); Square square(3.5); Rectangle rectangle(4.5,8.4); Trapezoid trapezoid(2.0,4.5,3.2); Triangle triangle(4.5,8.4); Shape *pt5=&circle,&square,&rectangle,&trapezoid,▵ double areas=0.0; for(int i=0;iarea(); couttotol of all areas=areasendl; return 0;

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服