面向对象复习题1
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、单项选择(共20分,每小题2分)
1、面向对象的软件开发过程的正确顺序是:()。
A.设计、分析、编程、维护、测试 B.分析、设计、编程、测试、维护
C.分析、设计、测试、编程、维护 D.设计、分析、测试、维护、编程
2、以下选项中不属于面向对象三大特征的是:()。
A.继承 B.多态 C.重载 D.封装
3、()是C++的合法标识符。
A._Student B.namespace C.ip@address D.2016C++
4、int a=20; int b=a++; int c=++b;
上述语句全部执行后a、b、c的值分别是()。
A.20、21、22 B.21、21、21 C.21、20、22 D.20、20、21
5、关于类的友元,下列说法错误的是()。
A.友元关系不可传递
B.友元关系是单向的
C.如果类A是类B的友元,那么B的全部成员函数都是A的友元函数
D.类外部访问本类成员不一定要通过定义友元函数的方式
6、类的静态成员具有下列()所述的性质。
A.静态数据成员不属于任何一个对象
B.静态成员函数只能通过类名访问
C.静态成员函数只能访问静态数据成员
D.静态数据成员在类中初始化
7、把乘法运算符*重载为某个类的成员函数与非成员函数时,分别需要()个形参。 A.1,2 B.0,1 C.2,1 D.1,0
8、所谓抽象类是()的类。
A.用virtual关键字继承 B.带有虚函数
C.带有纯虚函数 D.在程序代码中用关键字abstract说明
9、下面哪一个不是预定义的ostream类对象?()
A.cout B.cerr C.clog D.cin
10、有如下程序段
try{
…
throw “exception”;
…
}
catch(int){…} //①
catch(char){…} //②
catch(…){…} //③
catch(char[]){…} //④
则try块中抛出的异常将会被()捕获并处理。
A.① B.② C.③ D.④
二、填空(共15分,每空1分)
1、面向对象方法中的对象,是系统中用来描述客观事物的一个实体,它是用来构成系统的一个基本单位。对象由一组和一组组成。
2、引用是一种特殊类型的变量,可以被认为是另一个变量的。
3、面向对象方法中的,是指对具体问题(对象)进行概括,抽出一类对象的公共性质并加以描述的过程。
4、C++程序中对象的初始化和清理工作,分别由对象所属类的两个特殊的成员函数来完成,它们就是和。
5、C++中标识符的作用域分为函数原型作用域、、局部作用域(块作用域)和。
6、在类的继承关系中,父类又称为,子类又称为。
7、在C++中,当类的继承方式为公有继承时,基类的公有成员和成员的访问属性在派生类中不变,而基类的成员不可直接访问。
8、类型兼容规则是指在需要基类对象的任何地方,都可以使用类的对象来替代。
9、多态从实现的角度来讲可以划分为两类:的多态和的多态。
三、程序阅读(共25分)
1、在答题区给出下面程序的运行结果(4分)--函数调用(传值、传地址、引用)
#include
void swap(int x,int &y)
{
int temp;
temp=x;
x=y;
y=temp;
}
void main()
{
int a=40,b=10;
cout<<"a="< swap(a,b); cout<<"a="< } #include void swap(int x,int *y) { int temp; temp=x; x=*y; *y=temp; } void main() { int a=40,b=10; cout<<"a="< swap(a,&b);