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的子对象。
正确 错误 5、静态数据成员不从属于任何一个具体对象,所以必须在构造函数对它初始化。 正确 错误
《面向对象程序设计》第04章在线测试
剩余时间: 59:54
第一题、单项选择题(每题1分,5道题共5分) 1、如果在类B 中定义友元,其中正确的是:
A、class B { friend int fun(A*, B&);}; C、class B { friend int fun(A&, B&);};
B、class B { friend int fun(A*, B*);}; D、class B { friend int fun(A&, B*);};
2、关于友元的说法正确的是( )
A、友元关系可以继承 C、友元关系不可以传递
B、友元关系是双向的 D、友元关系可以取消
3、将类B的成员函数int f(void)声明为类A的友元函数的语句是( )
A、class A { friend int f();} C、class A { friend class B;};
B、class A { friend int B::fun();} D、class A { friend B::fun(void);}
4、关于友元类的定义正确的说法是( )
A、如果在类B中定义友元类A ,必须先定义类A C、如果在类B中定义友元类A ,可以定义类B,后定义类A,但是必须在类B的定义之前,对类A向前引用说明
B、如果在类B中定义友元类A ,必须先定义类B
D、类A是类B的友元,类A 和类B 的定义顺序没有先后之分
5、一个类的友元函数或友元类能够通过成员操作符访问该类的( )
A、私有成员 C、公有成员
B、保护成员 D、所有成员
第二题、多项选择题(每题2分,5道题共10分) 1、定义类B的构造函数为类A的友元函数的语句是( )
A、class A { friend B();}; B、class A { friend B::B();}; C、class A { friend void B::B();}; D、class A { friend double B::B();};
2、如果函数int f(int, int)是类A的友元,那么下面的说法正确的是( )bcd ab bc bd b a
C,D,ABD
A、int f(int, int)可以访问A的私有成员