收藏 分享(赏)

C++面向对象程序设计试卷4.doc

上传人:精品资料 文档编号:10765314 上传时间:2020-01-08 格式:DOC 页数:11 大小:71KB
下载 相关 举报
C++面向对象程序设计试卷4.doc_第1页
第1页 / 共11页
C++面向对象程序设计试卷4.doc_第2页
第2页 / 共11页
C++面向对象程序设计试卷4.doc_第3页
第3页 / 共11页
C++面向对象程序设计试卷4.doc_第4页
第4页 / 共11页
C++面向对象程序设计试卷4.doc_第5页
第5页 / 共11页
点击查看更多>>
资源描述

1、第 1 页上海应用技术学院 20112012学年第一学期 面向对象程序设计 期(终)(B)试卷课程代码: B2042211 学分 : 3 考试时间: 100 分钟课程序号: 1126045 1126046 1126047 1126048 班级: 学号: 姓名: 我已阅读了有关的考试规定和纪律要求,愿意在考试中遵守考场规则,如有违反将愿接受相应的处理。试卷共 页,请先查看试卷有无缺页,然后答题。一、选择题(每题 2 分,共 30 分)1. 关于类和对象不正确的说法是( C )A) 类是一种类型,它封装了数据和操作B) 对象是类的实例C) 一个类的对象只有一个D) 一个对象必属于某个类2. 在类定

2、义的外部,可以被访问的成员有( C )A) 所有类成员 B) private 或 protected 的类成员C) public 的类成员 D) public 或 private 的类成员3. 关于 this 指针的说法错误的是( A )A) this 指针必须显示说明 B) 当创建一个对象后,this 指针就指向该对象C) 成员函数拥有 this 指针 D) 静态成员函数不拥有 this 指针4. 下面对构造函数的不正确描述是( B )A) 系统可以提供默认的构造函数 B) 构造函数可以有参数,所以可以有返回值题 号 一 二 三 四 五 六 七 八 九 十 总 分应得分 30 30 40 1

3、00实得分第 2 页C) 构造函数可以重载 D) 构造函数可以设置默认参数5. 下面对析构函数的正确描述是( C )A) 系统不能提供默认的析构函数 B) 析构函数必须由用户定义C) 析构函数没有参数 D) 析构函数可以设置默认参数6. 对静态成员的不正确描述是( C )A) 静态成员不属于对象,是类的共享成员 B) 静态数据成员要在类外定义和初始化C) 调用静态成员函数时要通过类或对象激活,所以静态成员函数拥有 this 指针D) 非静态成员函数也可以操作静态数据成员7. 下面选项中,不是类的成员函数为( C )A) 构造函数 B) 析构函数 C)友元函数 D) 缺省参数的构造函数方言8.

4、下面对友元的错误描述是( D )A) 关键字 friend 用于声明友元B) 一个类的成员函数可以是另一个类的友元C) 友元函数访问对象的成员不受访问特性影响 D) 友元函数通过 this 指针访问对象成员9. 当一个派生类公有继承一个基类时,基类中的所有公有成员成为派生类的( A )A) public 成员 B) private 成员 C) protected 成员 D) 友元10. 不论派生类以何种方法继承基类,都不能使用基类的( B )A) public 成员 B) private 成员 C) protected 成员 D) public 成员和 protected 成员11. 在创建派

5、生类对象时,构造函数的执行顺序是( D )A) 对象成员构造函数、基类构造函数、派生类本身的构造函数B) 派生类本身的构造函数、基类构造函数、对象成员构造函数第 3 页C) 基类构造函数、派生类本身的构造函数、对象成员构造函数D) 基类构造函数、对象成员构造函数、派生类本身的构造函数12.在派生类中,重载一个虚函数时,要求函数名、参数的个数、参数的类型、参数的顺序和函数的返回值( B )A) 不同 B) 相同 C) 相容 D) 部分相同13. 下面函数原型声明中,( B )声明了 fun 为纯虚函数A) void fun()=0; B) virtual void fun()=0; C) vir

6、tual void fun(); D) virtual void fun();14. 假设 A 为抽象类,下列声明( B )是正确的A) A fun(int); B) A *p; C) int fun(A); D) A Obj;15. 已知:p 是一个指向类 A 数据成员 m 的指针,A1 是类 A 的一个对象。如果要给 m 赋值为 5,( C )是正确的。A. A1.p=5; B. A1-p=5;C. A1.*p=5; D. *A1.p=5;二、写出程序运行结果(每题 6 分,共 30 分)1、写出下列程序的运行结果。#include using namespace std;class My

7、Pointpublic:MyPoint(int xx=5, int yy=5) X = xx; Y = yy; coutusing namespace std;int i=0;void fun() static int i=1;coutusing namespace std;class testprivate:int a;public:test()coutusing namespace std;class Sample第 6 页int n;public:Sample()Sample(int i)n=i;friend Sample operator-(Sample friend Sample o

8、perator+(Sample void disp()coutusing namespace std;class Apublic:A(char *s)cout#include void main()char a = “ABCD1234efgh“;char * p;char * q;char * t;int i;for (i = 0; i class BaseClass public: void fn1(); void fn2(); ; void BaseClass:fn1() cout fn1(); pBaseClass-fn2(); pDerivedClass-fn1(); pDerived

9、Class-fn2(); 4. 下列 shape 类是一个表示形状的抽象类,area()为求图形面积的函数,total()则是一个通用的用以求形状的图形面积总和的函数。请从 shape 类派生三角形类(triangle)、矩形类(rectangle),并给出具体的求面积函数#include#includeusing namespace std;class Rectangle:public Shapefloat x1,x2,y1,y2;public:Rectangle(float argx1=0,float argy1=0,float argx2=0,float argy2=0);float g

10、etArea();Rectangle:Rectangle(float argx1,float argy1,float argx2,float argy2)x1=argx1;y1=argy1;x2=argx2;y2=argy2;float Rectangle:getArea()float length,width;length=x1x2 ? x1-x2 : x2-x1;第 11 页width=y1y2 ? y1-y2 : y2-y1;return length*width;class Triangle:public Shapefloat x1,x2,y1,y2,x3,y3;public:Tria

11、ngle(float argx1=0,float argy1=0,float argx2=0,float argy2=0,float argx3=0,float argy3=0);float getArea();Triangle:Triangle(float argx1,float argy1,float argx2,float argy2,float argx3,float argy3)x1=argx1;y1=argy1;x2=argx2;y2=argy2;x3=argx3;y3=argy3; float Triangle:getArea()float a,b,c,s;/分别求三边a=sqrt(x1-x2)*(x1-x2)+(y1-y2)*(y1-y2);b=sqrt(x1-x3)*(x1-x3)+(y1-y3)*(y1-y3);c=sqrt(x2-x3)*(x2-x3)+(y2-y3)*(y2-y3);s=(a+b+c)/2;return sqrt(s*(s-a)*(s-b)*(s-c); /海伦公式求三角形面积

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报