下面关于友元的说法中错误的是( )。A.友元函数可以访问类中的所有数据成员B.友元函数不可以在类内部定义C.友元类的所有成员函数都是另一个类友元函数D.友元函数必须声明在public区

题目

下面关于友元的说法中错误的是( )。

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

B.友元函数不可以在类内部定义

C.友元类的所有成员函数都是另一个类友元函数

D.友元函数必须声明在public区

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

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

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

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

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

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


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

第2题:

友元类的所有成员函数都是另一个类的【 】函数。


正确答案:友元
友元

第3题:

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

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

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

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

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


参考答案:A

第4题:

己知类X是类Y的友元,类Y是类Z的友元,则 ______。

A.类X一定是类Z的友元

B.类Z一定是类X的友元

C.类Z的成员函数可以访问类Y的对象的任何成员

D.类K的成员函数可以访问类Y的对象的任何成员


正确答案:D

第5题:

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

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

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

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

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


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

第6题:

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

A、类A是类C的友元

B、类C是类A的友元

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

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


参考答案:C

第7题:

下列关于成员访问权限的描述中,不正确的是( )。

A.公有数据成员和公有成员函数都可以被类对象直接处理

B.类的私有数据成员只能被公有成员函数以及该类的任何友元类或友元函数访问

C.只有类或派生类的成员函数和友元函数可以访问保护成员

D.保护成员在派生类中可以被访问,而私有成员不可以


正确答案:B
解析:类的私有数据成员也可以被类成员函数访问,不管是公有、私有或是保护成员,所以选项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.一个类的友元类中的成员函数都是这个类的友元函数

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

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


正确答案:D

第10题:

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

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

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

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

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


正确答案:B

更多相关问题