《面向对象程序设计》第03章在线测试 下载本文

内容发布更新时间 : 2024/5/3 17:59:56星期一 下面是文章的全部内容请认真阅读。

面向对象程序设计》第03章在线测试 剩余时间: 59:56 答题须知:1、本卷满分20分。 2、答完题后,请一定要单击下面的“交卷”按钮交卷,否则无法记录本试卷的成绩。 3、在交卷之前,不要刷新本网页,否则你的答题结果将会被清空。 第一题、单项选择题(每题1分,5道题共5分) 1、假定AB为一个类,则执行 “AB r1=r2;”语句时将自动调用该类的( )。 A、无参构造函数 C、赋值重载函数 B、带参构造函数 D、拷贝构造函数 2、假定 ab 为一个类,则执行 ab x ;语句时将自动调用该类的 ( ) 。 A、有参构造函数 C、拷贝构造函数 B、无参构造函数 D、赋值构造函数 3、类的构造函数被自动调用执行的情况是在定义该类的 ( ) A、成员函数时 C、对象时 B、数据成员时 D、友元函数时 4、一段程序的定义如下,在函数f()中将动态对象的成员n的值改为34的语句应该为 ( ) class A { int n; public: setn(int nl) {n=nl;} A(int x) {n = x; } } int f() {A * ptr = new A(45);... } A、A.n=34; C、ptr->setn(34); B、ptr.setn(34); D、setn(34); 5、假定AB为一个类,px为指向该类的一个含有n个对象的动态数组的指针,则执行“del_ete []px;”语句时共调用该类析构函数的次数为( )。 A、0 C、n B、1 D、n+1 第二题、多项选择题(每题2分,5道题共10分) 1、下列可以作为类的成员的是( ) A、自身类对象的指针 B、自身类对象 C、自身类对象的引用

D、另一个类的对象

2、下面关于成员函数的说法错误的是( )

A、类定义中只能说明函数成员的函数头,不能定义函数体 B、类中的函数成员可以在类体中定义,也可以在类体之外定义 C、类中的函数成员在类体之外定义时必须要与类声明在同一文件中 D、在类体之外定义的函数成员不能操作该类的私有数据成员

3、下面关于静态数据成员的说法错误的是( )

A、静态数据成员是类的所有对象所共有的 B、静态数据成员要在构造函数内初始化 C、类的每个对象有自己的静态数据成员 D、静态数据成员不能通过类的对象调用

4、假定AB为一个类,则执行 “AB *s=new AB(a,5);”语句的结果是

A、动态生成对象AB赋值给变量s B、动态生成对象s

C、如果对象AB中有公有成员a,则s->a可以访问该成员 D、动态生成对象AB,该对象的地址赋值给变量s

5、下面关于常对象的说法正确的是()

A、在定义常对象时必须进行初始化。 B、常对象的数据成员不能被更新。 C、常对象不能作为类的成员。

D、通过常对象可以调用该对象的成员函数。

第三题、判断题(每题1分,5道题共5分)

1、若Sample类中的一个成员函数说明如下: Void set(Sample &a) 其中Sample &a表示的含义是.a是类Sample的对象引用,用来作函数Set()的形参。

正确

错误

2、所谓私有成员是指只有类中所提供的成员函数才能直接使用它们,任何类以外的函数对它们的访问都是非法的。 正确 错误 3、某类中的友元类的所有成员函数可以存取或修改该类中的私有成员。 正确 错误 4、静态成员函数允许访问类的数据成员。 正确 错误 5、建立类的对象时,先调用各个对象成员的构造函数,初始化相应的对象成员,然后才执行类的构造函数,初始化类中其他成员。 正确 错误 交卷

恭喜,交卷操作成功完成!你本次进行的《面向对象程序设计》第03章在线测试的得分为 20分),本次成绩已入库。若对成绩不满意,可重新再测,取最高分。

测试结果如下:

? ? ? ?

?

? ? ? ? ? ? ? ? ? ?

1.1 [单选] [对] 假定AB为一个类,则执行 “AB r1=r2;”语句时将自动调用该类的(1.2 [单选] [对] 假定 ab 为一个类,则执行 ab x ;语句时将自动调用该类的 ( ) 。1.3 [单选] [对] 类的构造函数被自动调用执行的情况是在定义该类的 ( )

1.4 [单选] [对] 一段程序的定义如下,在函数f()中将动态对象的成员n的值改为34为 ( ) class A { int n; public: setn(int nl) {n=nl;} A(int x) {n = x; } } i* ptr = new A(45);... }

1.5 [单选] [对] 假定AB为一个类,px为指向该类的一个含有n个对象的动态数组的指“del_ete []px;”语句时共调用该类析构函数的次数为( )。 2.1 [多选] [对] 下列可以作为类的成员的是( )

2.2 [多选] [对] 下面关于成员函数的说法错误的是( ) 2.3 [多选] [对] 下面关于静态数据成员的说法错误的是( )

2.4 [多选] [对] 假定AB为一个类,则执行 “AB *s=new AB(a,5);”语句的结果是 2.5 [多选] [对] 下面关于常对象的说法正确的是()

3.1 [判断] [对] 若Sample类中的一个成员函数说明如下: Void set(Sample &a) 其中表示的含义是.a是类Sample的对象引用,用来作函数Set()的形参。

3.2 [判断] [对] 所谓私有成员是指只有类中所提供的成员函数才能直接使用它们,任何数对它们的访问都是非法的。

3.3 [判断] [对] 某类中的友元类的所有成员函数可以存取或修改该类中的私有成员。 3.4 [判断] [对] 静态成员函数允许访问类的数据成员。

3.5 [判断] [对] 建立类的对象时,先调用各个对象成员的构造函数,初始化相应的对象才执行类的构造函数,初始化类中其他成员。