计算机二级

友元函数是在类声明中由关键字friend修饰说明的类的成员函数。( )此题为判断题(对,错)。

题目
友元函数是在类声明中由关键字friend修饰说明的类的成员函数。( )

此题为判断题(对,错)。

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

第1题:

非成员函数只有在声明为( ),才能访问这个类的所有private成员。

A.内联函数

B.纯虚函数

C.重载函数

D.友元函数


正确答案:D
解析:此属考查的是非成员函数对类的成员的访问权限,非成员函数只有在声明为类的友元函数才能访问这个类的所有private成员,否则是不能访问类的私有成员的。

第2题:

友元函数说明在类体内,它是一种成员函数。()


参考答案:错误

第3题:

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

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

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

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

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


参考答案:A

第4题:

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

A.友元函数没有this指针

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

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

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


正确答案:D

第5题:

类模板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

第6题:

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

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

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

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

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


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

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

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


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

第10题:

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

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

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

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

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


正确答案:D
解析:友元提供了不同类或对象的成员函数之间、类的成员函数与一般函数之间进行数据共享的机制。类可以利用friend将一般函数、其他类成员函数或者其他类声明为友元。友元的声明可以放在类的任何一个区域。但是友元的实现不可以在类内部。

更多相关问题