面向对象复习题1

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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);

cout<<"a="<

}

2、在答题区给出下面程序的运行结果(5分)

#include "iostream.h"

class test

{

private:

int num;

float fl;

public:

test();

int getint(){return num;}

int getfloat(){return fl;}

~test();

};

test::test()

{

cout<<"lnitalizing default"<

num=0;

fl=0.0;

}

test::~test()

{cout<<"Desdtructor is active"<

int main( )

{

test array[2];

cout<

3、在答题区给出下面程序的运行结果(4分)

#include

class A

{ int a1,a2;

public:

A(int i,int j) {a1=i;a2=j;}

void print() {cout<

};

class B:public A

{

A a;

int b;

public:

B(int i,int j,int k,int m,int n):A(i,j),a(k,m) { b=n;} void print();

};

相关文档
最新文档