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的子对象。