个人收集整理资料, 仅供交流学习, 勿作商业用途
《面向对象程序设计》第04章在线测试
剩余时间: 59:57
答题须知:1、本卷满分20分。
2、答完题后,请一定要单击下面的“交卷”按钮交卷,否则无法记录本试卷的成绩。 3、在交卷之前,不要刷新本网页,否则你的答题结果将会被清空。 第一题、单项选择题(每题1分,5道题共5分)
1、若B类为A类的友元类,则下面的说法正确的是( )
A、B类的所有成员函数都是A类的友元函数
员
2、一个类的友元不是该类的成员,与该类的关系密切,所以它( )。
B、B类指定的成员函数才是A类的友元
D、B类的私有成员函数不能可以访问A类的私有成
C、A类的所有成员函数可以访问B类的成员
A、有this指针,有默认操作的对象
C、有this指针,不能执行默认操作
3、下面的语句中能将类B 定义为类A的友元类的是( )
A、friend class B。
B、没有this指针,可以有默认操作的对象 D、没有this指针,也就没有默认操作的对象
B、class A{ friend B}。
C、class A{ friend class B。}。 D、class friend B class A。
4、如果类B 是类A的友元类,n是类A的私有数据成员,函数f(A tmp)是类B的公有成员函数,a是类A的对象, b是B类的对象,下面语句正确的是( )
A、main(){ f(a)。}
C、main(){ a.n。}。
5、下面对于友元函数描述正确的是
A、友元函数的实现必须在类的内部定义 C、友元函数破坏了类的封装性和隐藏性
B、main(){ b.f。}。 D、main(){ b.f(a)。}。
B、友元函数是类的成员函数 D、友元函数不能访问类的私有成员
第二题、多项选择题(每题2分,5道题共10分)
1、一个类的友元不是该类的成员,与该类的关系密切,所以下面它的说法错误的是( )。
A、有this指针,有默认操作的对象 B、没有this指针,可以有默认操作的对象 C、有this指针,不能执行默认操作
D、没有this指针,也就没有默认操作的对象
2、下面关于友元的说法正确的是( )
A、友元函数是拥有成员函数一切权利 B、友元是一种成员函数
C、友元可以直接访问类的所有成员
D、友元不能访问类的私有成员
3、下面关于友元函数正确的说法是( )
A、在类中用关键词friend声明友元函数 B、友元函数说明的位置只能在类的public区 C、友元函数的定义只能放在类的外部
D、友元函数不是类的成员函数
4、关于友元函数的说法正确的是( )
1 / 3
个人收集整理资料, 仅供交流学习, 勿作商业用途
A、友元函数可以是普通函数,可以是其他类的成员函数,也可以是本类的成员函数 B、友元函数可以访问多个类的私有成员和保护成员 C、在调用友元函数的时候需要使用“.”运算符
D、如果友元函数是某个类的成员函数,在定义这个友元函数的时候要使用类前缀。
5、下面关于友元函数使用特点的说明正确的是( )
A、友元函数可以绕开成员函数直接访问类的私有和保护成员,避免调用成员函数相关的开销 B、友元函数虽然不是类的成员函数,但是因为友元函数是在类内说明的,所以也带有用this指针 C、友元函数可以以使用类内的所有成员,因此破坏了数据的安全性 D、友元函数的形参如果是类对象,可以用对象名,对象的引用或者对象指针
第三题、判断题(每题1分,5道题共5分)
1、友元只能访问类中的公有成员,不能访问私有成员。
正确
2、友元函数的定义只能放在类的外部,与类的成员函数放在一起。
错误
正确 错误
3、如果函数f()要操作类A和类B的私有成员,可以把f()声明为类A的成员函数,把类A声明为类B的友元类。
正确
4、友元具有传递性,单向性和继承性的特点。 正确
5、一个函数可以是多个类的友元函数。
正确
错误
错误
错误
交卷
恭喜,交卷操作成功完成!你本次进行的《面向对象程序设计》第04章在线测试的得分为 20分(满分20分),本次成绩已入库。若对成绩不满意,可重新再测,取最高分。
测试结果如下:
? ? ? ?
? ?
1.1 [单选] [对] 若B类为A类的友元类,则下面的说法正确的是( ) 1.2 [单选] [对] 一个类的友元不是该类的成员,与该类的关系密切,所以它( )。
1.3 [单选] [对] 下面的语句中能将类B 定义为类A的友元类的是( )
1.4 [单选] [对] 如果类B 是类A的友元类,n是类A的私有数据成员,函数f(A tmp)是类B的公有成员函数,a是类A的对象, b是B类的对象,下面语句正确的是( )
1.5 [单选] [对] 下面对于友元函数描述正确的是
2.1 [多选] [对] 一个类的友元不是该类的成员,与该类的关系密切,所以下面它的说法错误的是( )。
2 / 3
个人收集整理资料, 仅供交流学习, 勿作商业用途
? ? ? ? ? ? ? ? ?
2.2 [多选] [对] 下面关于友元的说法正确的是( ) 2.3 [多选] [对] 下面关于友元函数正确的说法是( ) 2.4 [多选] [对] 关于友元函数的说法正确的是( )
2.5 [多选] [对] 下面关于友元函数使用特点的说明正确的是( ) 3.1 [判断] [对] 友元只能访问类中的公有成员,不能访问私有成员。
3.2 [判断] [对] 友元函数的定义只能放在类的外部,与类的成员函数放在一起。 3.3 [判断] [对] 如果函数f()要操作类A和类B的私有成员,可以把f()声明为类A的成员函数,把类A声明为类B的友元类。
3.4 [判断] [对] 友元具有传递性,单向性和继承性的特点。 3.5 [判断] [对] 一个函数可以是多个类的友元函数。
3 / 3
相关推荐: