关于类的友元函数说法正确的是A.友元函数能访问类的私有数据成员B.友元函数能访问类的数据域成员的getter和setter函数C.友元函数不能访问类的私有成员D.友元函数不能访问类的保护成员E.友元函数不能访问类的公有成员

题目

关于类的友元函数说法正确的是

A.友元函数能访问类的私有数据成员

B.友元函数能访问类的数据域成员的getter和setter函数

C.友元函数不能访问类的私有成员

D.友元函数不能访问类的保护成员

E.友元函数不能访问类的公有成员


相似考题
更多“关于类的友元函数说法正确的是”相关问题
  • 第1题:

    下列关于this指针的叙述中,正确的是( )。

    A.任何与类相关的函数都有this指针

    B.类的成员函数都有this指针

    C.类的友元函数都有this指针

    D.类的非静态成员函数才有this指针


    正确答案:D
    解析: 本题考查的是this指针的使用。类的每一个成员函数都有一个隐含的常量指针,即this指针。类的静态成员函数不能含有this指针,因为this指针是一个指向本对象的指针。

  • 第2题:

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

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

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

    C、友元不是函数

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


    参考答案:B

  • 第3题:

    下面关于自定义类的运算符重载的说法中,正确的是()。

    A.类友元形式重载的运算符,重载函数的参数个数与运算符的实际操作数个数相同

    B.类友元形式重载的运算符,重载函数中的this指针指向第一个运算数

    C.类友元形式重载的运算符,重载函数中可以直接访问类中的私有成员

    D.所有运算符都可以以类友元形式进行重载


    正确答案:AC

  • 第4题:

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

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

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

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

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


    正确答案:B
    解析:类的私有数据成员也可以被类成员函数访问,不管是公有、私有或是保护成员,所以选项B是错误的,其他选项是正确的。

  • 第5题:

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

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

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

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

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


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

  • 第6题:

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

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

    B.友元关系不能被继承

    C.若函数fun被说明为类A的友元,那么在fun中可以访问类A的私有成员

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


    正确答案:A
    解析:C++中有些对象或函数需要访问其他对象的内部成员,这样可以用friend关键字将对应的类指定友元函数或友元类,但是这种关系不是相互的。如果声明一个类A为类B的友元类,则类A中的所有成元函数都可以访问类B中的私有成员。另外,友元关系不会被继承。

  • 第7题:

    下面关于友元函数描述正确的是 ______。

    A.友元函数能访问类的所有成员

    B.友元函数是类的成员

    C.只有函数才能声明为另一个的友元

    D.友元函数能访问类的私有成员


    正确答案:D

  • 第8题:

    关于虚函数,以下说法正确的是( )。

    A.若在重定义虚函数时使用了virtual,则该重定义函数还是虚函数

    B.虚函数不能声明为友元

    C.予类必须重定义父类的虚函数

    D.虚函数不能是static的


    正确答案:D

  • 第9题:

    关于友元函数的描述中,不正确的是()

    • A、友元函数说明在类体内
    • B、友元函数不是成员函数
    • C、友元函数必须用对象来引用
    • D、友元函数可以直接访问类中的私有成员

    正确答案:C

  • 第10题:

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

    • A、关键字friend用于声明友元
    • B、一个类中的成员函数可以是另一个类的友元
    • C、友元函数访问对象的成员不受访问特性影响
    • D、友元函数通过this指针访问对象成员

    正确答案:D

  • 第11题:

    友元类中的所有成员函数都是友元函数。


    正确答案:正确

  • 第12题:

    单选题
    已知类A是类B的友元,类B是类C的友元,则下面选项描述正确的是()
    A

    类A一定是类C的友元

    B

    类C一定是类A的友元

    C

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

    D

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


    正确答案: D
    解析: 暂无解析

  • 第13题:

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

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

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

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

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


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

  • 第14题:

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

    A、类A是类C的友元

    B、类C是类A的友元

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

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


    参考答案:C

  • 第15题:

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

    A.友元函数没有this指针

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

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

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


    正确答案:D

  • 第16题:

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

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

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

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

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


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

  • 第17题:

    下面对于友元函数描述正确的是( )。

    A.友元函数的实现必须在类的内部定义

    B.友元函数是类的成员函数

    C.友元函数破坏了类的封装性和隐藏性

    D.友元函数不能访问类的私有成员


    正确答案:C
    友元函数的定义既可以在类内部进行,也可以在类外部进行。它提高了程序的运行效率,但破坏了类的封装性和隐藏性,使得类的非成员函数可以访问类的私有成员。

  • 第18题:

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

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

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

    C.友元关系不能被继承

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


    正确答案:A
    解析:一个类是另一个类的友元,意味着该类的每一个成员函数都是另—个类的友元函数。

  • 第19题:

    下面关于友元函数的描述正确的是( )。

    A.友元函数不能访问类的私有成员

    B.友元函数破坏了类的封装性和隐藏性

    C.友元函数是类的成员函数

    D.友元函数的实现必须在类的内部定义


    正确答案:B
    解析:友元函数说明的位置可在类的任何部位,而友元函数定义则在类的外部,一般与类的成员函数的定义放在一起,类的友元函数可以直接访问该类的所有成员,但它不是类的成员函数。

  • 第20题:

    下列关于this指针的叙述中,正确的是( )。

    A)任何与类相关的函数都有this指针

    B)类的成员函数都有this指针

    C)类的友元函数都有this指针

    D)类的非静态成员函数才有this指针


    正确答案:D

  • 第21题:

    下面关于友元的描述中,错误的是()。

    • A、友元函数可以访问该类的私有数据成员
    • B、一个类的友元类中的成员函数都是这个类的友元函数
    • C、友元可以提高程序的运行效率
    • D、类与类之间的友元关系可以继承

    正确答案:D

  • 第22题:

    已知类A是类B的友元,类B是类C的友元,则下面选项描述正确的是()

    • A、类A一定是类C的友元
    • B、类C一定是类A的友元
    • C、类C的成员函数可以访问类B的对象的任何成员
    • D、类A的成员函数可以访问类B的对象的任何成员

    正确答案:D

  • 第23题:

    单选题
    下列关于this指针的叙述中,正确的是(  )。
    A

    任何与类相养的函数都有this指针

    B

    类的成员函数都有this指针

    C

    类的友元函数都有this指针

    D

    类的非静态成员函数才有this指针


    正确答案: C
    解析:
    此题考查的是this指针的使用。类的每一个非静态成员函数都有一个隐含的常量指针,即this指针。类的静态成员函数不能含有this指针,因为this指针是一个指向本对象的指针。

  • 第24题:

    单选题
    关于虚函数,以下说法正确的是(  )。
    A

    若在重定义虚函数时使用了virtual,则该重定义函数还是虚函数

    B

    虚函数不能声明为友元

    C

    子类必须重定义父类的虚函数

    D

    虚函数不能是static的


    正确答案: B
    解析:
    在C++语言中,虚函数可以是友元函数,但不能是静态成员。虚函数的重定义函数,无论是否使用virtual关键字,仍然是虚函数。