工学

问答题什么叫友元?友元有哪些?

题目
问答题
什么叫友元?友元有哪些?
如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

类A是类B的友元,类B是类C的友元,则下列说法正确的是( )。

A.类B是类A的友元

B.类C是类A的友元

C.类A是类C的友元

D.以上都不对


正确答案:D
解析: 选项A、B和C都不正确,因为友元关系是单项的,并且没有交换性、传递性。

第2题:

关于友元的描述中错误的是

A.友元函数可以访问该类的私有数据成员

B.一个类的友元类中的成员函数都是这个类的友元函数

C.友元可以提高程序的运行效率

D.类和类之间的友元关系可以继承


正确答案:D
解析:友员机制就是为了解决对象封装过程中对对象所有内部数据存取都需要通过接口进行的低效率问题,但是破坏了封装性。友员关系是单向且不可继承的。

第3题:

下面对友元的错误描述是()。

A、友元函数不可访问对象的private成员

B、一个类的成员函数可以是另一个类的友元

C、友元类和友元函数均用关键字friend声明

D、友元函数可以访问对象的protected成员


参考答案:A

第4题:

关于友元的概念错误的是( )。

A.友元函数没有this指针

B.调用友元函数时必须在它的实参中给出要访问的对象

C.一个类的成员函数也可以作为另一个类的友元函数

D.只能在类的公有段声明友元


正确答案:D

第5题:

已知类A是类B的友元,类B是类C的友元,则()。

A、类A是类C的友元

B、类C是类A的友元

C、类A的成员函数可以访问类B对象的任何成员

D、类C的成员函数可以访问类B对象的任何成员


参考答案:C

第6题:

关键字friEnD用于声明友元。()


参考答案:正确

第7题:

对于友元描述正确的是()

A、友元是本类的成员函数

B、友元不是本类的成员函数

C、友元不是函数

D、友元不能访问本类私有成员


参考答案:B

第8题:

关于友元,下列说法错误的是

A.如果类A是类B的友元,那么类B也是类A的友元

B.如果函数fun()被说明为类A的友元,那么在fun()中可以访问类A的私有成员

C.友元关系不能被继承

D.如果类A是类B的友元,那么类A的所有成员函数都是类B的友元函数


正确答案:A
解析:本题考核友元类和友元函数。友元关系是单向的,并且只在两个类之间有效。即使类X是类Y的友元,类Y是否是类X的友元也要看类X中是否有相应的声明。即友元关系不具有交换性,所以A选项的说法是错误的。类的友元函数可以直接访问该类的所有成员;类A是类B的友元类,那么类A的所有成员函数都是类B的友元函数。

第9题:

下面关于成员函数重载运算符和友元函数重载运算符相同的是( )。

A.成员函数和友元函数可重载的运算符是不相同的

B.成员函数和友元函数重载运算符时都需要用到this指针

C.成员函数和友元函数重载运算符时都需要声明为公有的

D.成员函数和友元函数重载运算符时的参数可能是相同的


正确答案:A

第10题:

以下关于友元函数的叙述不正确的是( )。

A.友元函数提供了类之间数据共享的一个途径

B.一个友元函数可以访问任何类的任何成员

C.友元函数破坏了数据的封装

D.友元函数增加了程序设计的灵活性


正确答案:B
B。【解析】友元函数的作用在于提高程序的运行效率,但是它破坏了类的封装性和隐藏性,使得非成员函数可以访问类的私有成员。只有在类中声明了某个函数是自己的友元函数之后,该友元函数才能够访问本类的私有成员,而不是任何类的任何成员都可以访问。

更多相关问题