面向对象程序设计郑大网上测试 下载本文

B、x.a()

C、x->GetValue() D、x.GetValue()

3、下面关于构造函数的说法正确的是()

A、构造函数的函数名与类名相同 B、构造函数可以重载

C、构造函数不可以设置默认参数 D、构造函数必须指定类型说明

4、使类中的一个指针成员指向一块动态存储空间时,通常不能在下面哪些函数中实现()

A、析构 B、构造

C、任一函数成员 D、友元

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

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

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

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

1、 假定AA为一个类,a为该类公有的数据成员,x为该类的一个对象,则访问x对象中数据成员a的格式为x->a。

正确

错误

2、 对类中引用成员的初始化是通过构造函数中给出的初始化表实现的。

正确

错误

3、 C++允许使用友元,但是友元会破坏封装性。

正确

错误

4、 所谓私有成员是指只有类中所提供的成员函数才能直接使用它们,任何类以外的函数对它们的访问都是非法的。 正确 错误 5、 如果类A的声明中将类B的对象作为数据成员,则称类A和类B之间是一种has-a关系,类B是类A的子对象。 正确 错误

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

剩余时间: 59:54

第一题、单项选择题(每题1分,5道题共5分)

1、类的指针成员的初始化是通过函数完成的,这个函数通常是

A、析构函数 C、其它成员函数

B、构造函数 D、友元函数

2、静态成员函数 没有( )

A、返回值 C、指针参数

B、this 指针 D、返回类型

3、假定 ab 为一个类,则执行 ab x ;语句时将自动调用该类的 ( ) 。

A、有参构造函数 C、拷贝构造函数

B、无参构造函数 D、赋值构造函数

4、当一个类对象结束它的生存期的时侯,系统自动调用该类的( )。

A、无参构造函数 C、拷贝构造函数

B、带参构造函数 D、析构函数

5、假定AA是一个类,abc是该类的一个成员函数,则参数表中隐含的第一个参数为( )。

A、abc C、this

B、*this D、this&

第二题、多项选择题(每题2分,5道题共10分) 1、下面有关类说法正确的是( )

A、一个类可以有多个构造函数 B、一个类只有一个析构函数 C、析构函数需要指定参数

D、在一个类中可以说明具有类类型的数据成员

2、假定AA为一个类,a为该类私有的数据成员,GetValue()为该类公有函数成员,它返回a的值,x为该类的一个对象,则访问x对象中数据成员a的语句错误的是( )。

A、x.a B、x.a()

C、x->GetValue() D、x.GetValue()

3、构造函数的初始化表一般用来( )

A、初始化常量数据成员 B、初始化子对象 C、初始化引用成员 D、初始化静态数据成员

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

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

5、使类中的一个指针成员指向一块动态存储空间时,通常不能在下面哪些函数中实现( )

A、析构 B、构造

C、任一函数成员 D、友元

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

1、析构函数的作用是在对象被撤销时收回先前分配的内存空间。

正确

错误

2、C++允许使用友元,但是友元会破坏封装性。

正确

错误

3、静态成员函数允许访问类的数据成员。

正确

错误

4、如果类A的声明中将类B的对象作为数据成员,则称类A和类B之间是一种has-a关系,类B是类A的子对象。