参考答案和解析
正确答案:
友元 【解析】此题考查的是友元函数。一个类的私有成员和保护成员,只能由其本身的成员来访问,不能被其他函数访问。但是如果想让类中的数据成员可以被其他函数访问,可以通过友元函数声明来分享类中的数据资源。
更多“非成员函数应声明为类的__________函数才能访问这个类的private成员。 ”相关问题
  • 第1题:

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

    A.内联函数

    B.纯虚函数

    C.重载函数

    D.友元函数


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

  • 第2题:

    关于类的静态成员函数描述错误的是()

    A、在创建对象前不存在

    B、不能说明为虚函数

    C、不能直接访问非静态函数

    D、不是对象的成员


    参考答案:A

  • 第3题:

    非成员函数只有在声明为类的______才能防问这个类的所有private成员。


    正确答案:友元函数
    友元函数 解析:本题考核友元函数。C++规定,一个类的私有成员和保护成员,只能由其本身的成员来访问,不能被其他函数访问,这样形成了封装的概念,也保护了类本身的数据不致于受到破坏。但是,如果想让类中的成员数据可以被其他函数访问,可以通过友元函数声明,来分享类中的资源。类的友元函数可以直接访问该类的所有成员,包括私有成员。

  • 第4题:

    要想把类的一般成员函数说明为类的常成员函数,则应该使用关键词【 】说明成员函数。


    正确答案:const
    const 解析:常类型是指使用类型修饰符const说明的类型。常类型的变量或对象的值是不能被更新的,所以能够达到既保证数据共享又防止改变数据的目的。

  • 第5题:

    private访问属性限制对象的成员,可以在( )中访问。

    A.本类的成员函数

    B.main函数

    C.父类的成员函数

    D.子类的成员函数


    正确答案:A
    解析:私有成员只能被本类的成员函数或者友元函数访问。

  • 第6题:

    下列关于类的访问权限的描述中,( )是错误的。

    A.类中说明为公有的成员可以被程序中的任何代码访问

    B.类中说明为私有的成员只能被类的成员函数和说明为友元类的成员函数访问

    C.类中说明为保护的成员可以被该类的派生类的成员访问

    D.类的对象和类成员函数一样可以访问类的所有成员


    正确答案:D
    解析:本题考核类成员的访问权限。类成员有3类访问权限:公有(public)、私有(private)和保护(protected)。公有成员是类的对外表现,而私有成员和保护成员是类的内部实现。类的成员函数可以访问类的所有成员,没有任何限制。而类的对象对类的成员的访问是受成员访问控制符制约的。通过类的对象只能访问类的公有成员,不能访问类的保护成员和私有成员。由此可知,选项D的描述是错误的。

  • 第7题:

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

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

    B.友元函数是类的成员

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

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


    正确答案:D

  • 第8题:

    非成员函数必须声明为类的__________才能访问这个类的private成员。


    正确答案:
    友元函数 【解析】C 的友元提供了不同类或对象的成员函数之间、类的成员函数与一般函数之间数据共享的机制。一个类可以利用friend将一般函数、其他类成员函数或者其他类声明为友元。友元的声明可以放在类的任何一个区域。定义须在类外声明在公有私有部分均可。

  • 第9题:

    若classB中定义了一个classA的类成员Aa,则关于类成员的正确描述是()

    • A、在类B的成员函数中可以访问A类的私有数据成员
    • B、在类B的成员函数中可以访问A类的保护数据成员
    • C、类B的构造函数可以调用类A的构造函数做数据成员初始化
    • D、类A的构造函数可以调用类B的构造函数做数据成员初始化

    正确答案:C

  • 第10题:

    友元函数能否访问类中的保护成员?友元函数访问类中私有成员与成员函数访问私有成员的形式相同吗?


    正确答案: 友元函数能访问类中的保护成员。友元函数访问类中私有成员与成员函数访问私有成员的形式相同。

  • 第11题:

    单选题
    下列有关类成员的叙述中,正确的是(  )。
    A

    友元函数是类的成员函数

    B

    类成员的默认访问权限是私有的

    C

    类成员函数必须声明为公有的

    D

    类的静态数据成员不能是常成员


    正确答案: B
    解析:
    A项错误,类的友元函数可以直接访问该类的所有成员,但它不是类的成员函数;B项正确,类的数据成员和成员函数的默认访问权限是私有的;C项错误,类成员函数的访问权限可以声明为公有、保护、私有;D项错误,静态数据成员的声明是使用关键字static,它可以是常成员。

  • 第12题:

    单选题
    若classB中定义了一个classA的类成员Aa,则关于类成员的正确描述是()
    A

    在类B的成员函数中可以访问A类的私有数据成员

    B

    在类B的成员函数中可以访问A类的保护数据成员

    C

    类B的构造函数可以调用类A的构造函数做数据成员初始化

    D

    类A的构造函数可以调用类B的构造函数做数据成员初始化


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

  • 第13题:

    下列关于类定义的说法中,正确的是

    A.类定义中包括数据成员和函数成员的声明

    B.类成员的缺省访问权限是保护的

    C.数据成员必须被声明为私有的

    D.成员函数只能在类体外进行定义


    正确答案:A
    解析:本题考查的知识点是:类的定义。类中缺省的访问权限是私有的(private),所以选项B) 不正确:类的数据成员和函数成员的访问控制权限均可被声明为公有 (public)、私有(priate)和保护(protected)中的任意一种,所以选项C) 不正确;成员函数的实现即可以在类体内定义,也可以在类体外定义,所以选项D) 不正确。故本题应该选择A。

  • 第14题:

    ()只能访问静态成员变量,静态成员函数和类以外的函数和数据不能访问类中的非静态成员变量。

    A、静态函数

    B、虚函数

    C、构造函数

    D、静态成员函数


    参考答案:A

  • 第15题:

    以下四个关于类的访问控制的描述哪一个是错误的

    A、子类不能访问其父类的私有数据成员和成员函数

    B、子类的对象不能访问其父类的保护数据成员或者成员函数

    C、类的对象不能访问类的保护数据成员或者成员函数

    D、类的成员函数不能访问类中的私有数据


    参考答案:D

  • 第16题:

    非成员函数应该声明为类的【 】函数才能访问该类的私有成员。


    正确答案:友元
    友元 解析:友元函数不是当前类的成员函数,而是独立于当前类的外部函数(包括普通函数和其他类的成员函数),但它可以访问该类的所有对象的成员,包括私有成员、保护成员和公有成员。

  • 第17题:

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


    正确答案:友元函数
    友元函数

  • 第18题:

    在C++中,类由数据成员和成员函数封装而成,每个成员都具有描述该成员可见性的访问控制属性,若某类的一个成员的访问控制属性是protected属性,这个成员(30)。

    A.只能被该类的成员函数访问

    B.只能被该类的成员函数和友元函数访问

    C.只能被该类的成员函数、友元函数和该类的派生类的成员函数防问

    D.不仅可以被该类的成员函数访问,而且还可以被该类的外部访问


    正确答案:C
    解析:在C++中,把数据成员和成员函数封装成类。类的一般形式如下:class类名{类成员1;类成员2;……类成员n;其中,类成员或者是一个数据声明,或者是一个方法声明。数据对象声明可以是const声明、struct声明、任何类型或类的数据对象声明。方法声明是函数或过程的定义。类的每个成员都具有描述该成员可见性的访问控制属性,它可能是private属性、protected属性或public属性。private(私有的):说明类的成员是私有的,只能被该类的成员函数和友元函数(用friend关键字表明,它不是类的成员函数)访问。public(公有的):说明类的成员是公有的,它不仅可以被该类的成员函数访问,而且还可以被类的外部访问。protected(被保护的):说明类的成员是被保护的,它只能被该类的成员函数、友元函数和该类的派生类的成员函数访问。

  • 第19题:

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


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

  • 第20题:

    类中的非静态成员函数不能访问类的静态数据成员。


    正确答案:错误

  • 第21题:

    如果一个成员函数只存取一个类的静态数据成员,则可将该成员函数说明为静态成员函数


    正确答案:正确

  • 第22题:

    问答题
    友元函数能否访问类中的保护成员?友元函数访问类中私有成员与成员函数访问私有成员的形式相同吗?

    正确答案: 友元函数能访问类中的保护成员。友元函数访问类中私有成员与成员函数访问私有成员的形式相同。
    解析: 暂无解析

  • 第23题:

    单选题
    下列关于类的访问权限的描述中,错误的是()。
    A

    说明为公有的成员可以被程序中的任何代码访问

    B

    说明为私有的成员只能被类的成员和说明为友元类的成员函数访问

    C

    说明为保护的成员,除了能被本身的成员函数和说明为友元类的成员函数访问外,该类的派生类的成员也可以访问

    D

    类的所有成员都可以被程序中的任何代码访问


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