当将一个类A或函数f()说明为另一个类B的友元后,类A或函数f(

题目

当将一个类A或函数f()说明为另一个类B的友元后,类A或函数f()能够直接访问类B的()

  • A、 只能是公有成员
  • B、 只能是保护成员
  • C、 只能是除私有成员之外的任何成员
  • D、 具有任何权限的成员
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

下面关于虚函数的描述,错误的是

A.在成员函数声明的前面加上virtual修饰,就可把该函数声明为虚函数

B.基类中说明了虚函数后,派生类中对应的函数也必须说明为虚函数

C.虚函数可以是另一个类的友元函数,但不能是静态成员函数

D.基类中说明的纯虚函数在其任何派生类中都必须实现


正确答案:B
解析:基类中说明的虚函数,在派生类中自然就是虚函数,对于纯虚函数必须在后面继承的派生类中给出具体的实现;静态成员函数不能进行动态联编,所以虚函数不能是静态的。

第2题:

当一个类被说明为另一个类的友元时,它的所有的成员函数都成为另一个类的友元函数。()


参考答案:正确

第3题:

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

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

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

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

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


参考答案:A

第4题:

将一个函数声明为一个类的友元函数必须使用关键字【 】。


正确答案:friend
friend 解析:本题考核友元函数。定义友元函数的方式是在类定义中用关键字friend说明该函数,其格式为:friend类型>友元函数名>(参数表);

第5题:

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


正确答案:友元
友元

第6题:

一个类的友元一定是另一个类的成员函数。()


参考答案:错误

第7题:

下面关于虚函数的描述,错误的是( )。

A.在成员函数声明的前面加上virtual修饰,就可把该函数声明为虚函数

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题:

类模板templateclass x{...},其中,友元函数f对特定类型T(如int),使函数 f(x);成为

类模板template<class T>class x{...},其中,友元函数f对特定类型T(如int),使函数 f(x<int>);成为x<int>模板类的友元,则其说明为( )。

A.friend void f();

B.friend void f(x<T>);

C.friend void A:: f()

D.friend void C<D:: f(x<T>);


正确答案:B

第10题:

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

A.友元函数没有this指针

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

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

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


正确答案:D

更多相关问题