面向对象编程技术2010试卷A++(安徽工业大学) - 图文

更新时间:2024-03-20 20:55:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

???????????? 装 ???????????? 订 ????????????? 线 ???????????? 课程________________________班级________________________姓名__________________________学号________________________ ???????????? 密 ???????????? 封 ????????????? 线 ???????????? 安 徽 工 业 大 学 工 商 学 院 试 题 纸(一) 题号 得分 一 二 三 四 五 六 七 八 九 十 十一 十二 十三 十四 十五 十六 十七 十八 十九 二十 总 分 2009~2010学年第一学期期末考试《面向对象的编程技术》试卷(A) 注 意:所有答案请写在答题纸上 一、单项选择题(1?20=20分) 1.为了提高程序的运行速度,可将不太复杂的功能用函数实现,此函数应选择( )。 A内联函数 B.重载函数 C.递归函数 D.函数模板 2.下面关于类概念的描述中,( )是错误的。 A. 类是抽象数据类型的实现 B. 类是具有共同行为的若干对象的统一描述体 C.类是创建对象的样板 D. 类就是C语言中的结构类型 3. 下列标识符中,不合法的是( )。 A.program B. A_B_C_D C. 3in1 D. _lock 4.在C++中,关于下列设置参数默认值的描述中,正确的是( )。 A.不允许设置参数的默认值 B. 设置参数默认值只能在定义函数时设置 C.设置参数默认值时,应该是先设置右边的再设置左边的 D.设置参数默认值时,应该全部参数都设置 5. 对于一个类的构造函数,其函数名与类名( )。 A. 完全相同 B.基本相同 C.不相同 D. 无关系 6.假定一个类AB只含有一个整型数据成员a,用户为该类定义的带参构造函数可以为( )。 A. ABU(){ } B.AB();a(O){ } C.AB(int aa=O) {a=aa;} D.AB(int aa){ } 7.如果表达式a+b中的“+”是作为成员函数重载的运算符,若采用运算符函数调用格式,则可表示为( )。 A.a.operator+(b) B.b.operator+(a) C.operator+(a,b) D.operator(a+b) 8.对于私有继承,基类的公有和保护成员在派生类中将( )成员。 A. 全部变成公有 B.全部变成保护 C. 全部变成私有 D.仍然相应保持为公有和保护 9.下列( )不是构造函数的特征 A.构造函数的函数名与类名相同 B. 构造函数可以重载 C.构造函数可以设置默认参数 D. 构造函数必须指定类型说明 10.面向对象系统的多态性是( )。 A. 不同的对象收到相同的消息时产生不同的动作. B. 不同的对象收到相同的消息时产生相同的动作. C. 相同的对象收到相同的消息时产生不同的动作. D. 相同的对象收到相同的消息时产生相同的动作. 11.假定AB为一个类,则( )为该类的拷贝构造函数的原型说明。. A.AB(AB x); B.AB(AB &x); C.void AB(AB &x); D.AB(int x); 12.下列的标识符中,( )是文件级作用域的 A.函数形参 B.语句标号 C. 外部静态类标识符 D. 自动类标识符 13.在传值调用中,要求( )。 A.形参和实参类型任意,个数相等 B. 实参和形参类型都完全一致,个数相等 C.实参和形参对应的类型一致,个数相等 D. 实参和形参对应的类型一致,个数任意 14.假定AB为一个类,则执行“AB *p=new AB(1,2);”语句时共调用该类构造函数的次数为( )。 A.0 B.1 C.2 D.3 A-1

???????????? 装 ???????????? 订 ????????????? 线 ???????????? 课程________________________班级________________________姓名__________________________学号________________________ ???????????? 密???????????? 封 ????????????? 线 ???????????? 安 徽 工 业 大 学 工 商 学 院 试 题 纸(二) 15.下列( )的调用方式是引用调用。 A.形参是指针,实参是地址值 B. 形参和实参都是变量 C.参是数组名,实参是数组名 D. 形参是引用,实参是变量 16.在成员函数中进行双目运算符重载时,其参数表中应带有( )个参数。 A.0 B. 1 C. 2 D.3 17.派生类的对象对其基类中( )可直接访问。 A.公有继承的公有成员 B.公有继承的私有成员 C.公有继承的保护成员 D.私有继承的公有成员 18. 关于多继承二义性的描述中,( )是错误的。 A.一个派生类的两个基类中都有某个同名成员,在派生类中对这个成员的访问可能出现二义性 B.解决二义性的最常用的方法是对成员的限定法 C.基类和派生类同时出现的同名函数,也存在二义性问题 D.一个派生类是从两个基类派生来的,而这两个基类又有一个共同的基类,对该基类成员进行访问时,也可能出现二义性 19. 派生类的构造函数的成员初始化列表中,不能包含( )。 A.基类的构造函数 B.派生类中子对象的初始化 C.基类的子对象初始化 D.派生类中一般数据成员的初始化 20.下列运算符中( )运算符在C++中不能重载。 A.* B.& C.&& D.. * 二、填空题(1?20=20分) 1. 任何类中允许有三种类型的数据,分别是 ; ; 。 2. 指向类成员的指针包含指向类___________的指针和指向类__________的指针。 3. 可以通过____________或者_____________两种方式来解决二义性问题。 4. 如果对象的生存期与程序的运行期相同,我们称它具有 。 5. C++提供的 机制允许一个派生类继承多个基类,即使这些基类是相互无关的。 6. 多态性是面向对象的重要特征之一,其主要四种表现方式为 , , , 。 7. 声明一个int型指针,用new语句为其分配包含10个元素的地址空间(不用初始化),声明语句为: 。 8. 友元有两种表现形式______________、_____________。 9. 派生类的生成过程包括 、 、 三个过程。 10. 对象数组的每个数组元素都是一个对象,通过这个对象,便可访问到它的公有成员,一般形式是 。 A-2

???????????? 装 ???????????? 订 ????????????? 线 ???????????? 课程________________________班级________________________姓名__________________________学号________________________ ???????????? 密???????????? 封 ????????????? 线 ???????????? 安 徽 工 业 大 学 工 商 学 院 试 题 纸(三) 三、读程后写出运行结果(每小题5分,共10分) 1. #include class Base { public: Base(int i,int j) { x0=i; y0=j;} void Move(int x,int y) {x0+=x; y0+=y;} void Show( ) { cout<<\private: int x0,y0; }; class Derived: private Base { public: Derived(int i,int j,int m,int n):Base(i,j) { x=m; y=n; } void Show( ){ cout<<\ void Movel( ) { Move(4,6); } void Showl ( ) { Base::Show(); } private: int x,y; }; void main() { Base b(1,2); b.Show(); Derived d(4,3,10,15); d.Movel(); d.Show (); d.Showl(); } 2. #include class B1 { public: B1(int i){cout<<\ B1:\ }; class B2 { public: B2(int j){cout<<\:\}; class B3 { public: B3( ){cout<<\ *\ }; class C :public B2 , public B1, public B3 { public: C(int a, int b ,int c ,int d): B1(a) ,memberB2(d),B2(b) ,memberB1(c) { } private: B3 memberB3; B2 memberB2; B1 memberB1; }; void main( ) { C obj(3 ,4 ,1 ,2); } A-3

???????????? 装 ???????????? 订 ????????????? 线 ???????????? 课程________________________班级________________________姓名__________________________学号________________________ ???????????? 密???????????? 封 ????????????? 线 ???????????? 安 徽 工 业 大 学 工 商 学 院 试 题 纸(四) 四、简答题(每小题5分,共15分) 1. 解释类型兼容原则? 2. const int *p和int *const p的区别是什么? 3. 解释在三种不同的继承方式下,基类成员的访问属性? 五、编程题(共35分) 1. 编写一个类Rectangle,有Length(长)、Width(宽)等数据成员,有重载的构造函数Rectangle()、Rectangle(int itslength,int itswidth),设计程序测试这个类。(7分) 2. 定义一个基类Base,有两个公有成员函数fn1(),fn2(),私有派生出Derived类,如何通过Derived类的对象调用基类的函数fn1(),fn2(),设计程序测试这个类。(8分) 3. 定义学生类,数据成员有姓名,静态数据成员totalstu用于统计学生总数,静态函数成员gettotalstu()用于输出静态数据成员。设计程序测试这个类,体会静态数据成员和静态成员函数的用法。(10分 ) 4. 定义一个类Point,有私有数据X,Y,利用成员函数重载++(自加)运算符,包括运算符的前置和后置,实现对Point对象的自加运算。(10分)。 A-4

???????????? 装 ???????????? 订 ????????????? 线 ???????????? 课程________________________班级________________________姓名__________________________学号________________________ ???????????? 密???????????? 封 ????????????? 线 ??????????? 题号 得分 一 二 三 四 五 六 七 八 九 十 十一 十二 十三 十四 十五 十六 十七 十八 十九 二十 总 分 安 徽 工 业 大 学 工 商 学 院 答 题 纸(一) 一、 单项选择题(1?20=20分) 题号 答案 题号 答案 1 11 2 12 3 13 4 14 5 15 6 16 7 17 8 18 9 19 10 20 二、 填空题(1?20=20分) 三、读程后写出运行结果(每小题5分,共10分) 1、结果如下: 2、结果如下:

A-5

???????????? 装 ???????????? 订 ????????????? 线 ????????????

课程________________________班级________________________姓名__________________________学号________________________

???????????? 密???????????? 封 ????????????? 线 ????????????

安 徽 工 业 大 学 工 商 学 院 答 题 纸(二)

四、简答题(每小题5分,共15分)

五、编程题(共35分)

A-6

???????????? 装 ???????????? 订 ????????????? 线 ????????????

课程________________________班级________________________姓名__________________________学号________________________

???????????? 密???????????? 封 ????????????? 线 ????????????

安 徽 工 业 大 学 工 商 学 院 答 题 纸(三)

A-7

本文来源:https://www.bwwdw.com/article/t2o8.html

Top