软考中级

在C++中,类由数据成员和成员函数封装而成,每个成员都具有描述该成员可见性的访问控制属性,若某类的一个成员的访问控制属性是protected属性,这个成员(30)。A.只能被该类的成员函数访问B.只能被该类的成员函数和友元函数访问C.只能被该类的成员函数、友元函数和该类的派生类的成员函数防问D.不仅可以被该类的成员函数访问,而且还可以被该类的外部访问

题目

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

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

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

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

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

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

第1题:

6、以下叙述中不正确的是()。

A.构造函数和析构函数是特殊的成员函数,因此不允许重载

B.在类定义中,通常是用成员变量描述对象的属性; 用成员函数描述对象的行为

C.类的一个成员只能具有一种访问控制属性

D.通过对象只能访问类的公有成员


B

第2题:

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

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

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

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

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


D

第3题:

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

A.公有数据成员和公有成员函数都可以通过类对象直接访问

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

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

D.类或派生类的成员函数可以访问保护成员


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

第4题:

8、关于类的成员访问控制,说法正确的是()。

A.类成员的访问源有两个:类成员和类用户。类成员指类本身的函数成员,类用户指类外部的使用者。

B.如果需要限定类的成员的访问源时,则需要明确描述该成员的访问控制属性。当每个成员没有描述其访问控制属性时,表明它支持任意的访问源。

C.private访问修饰符的含义为:定义类的私有成员,表示该成员只能被类的成员和该类的对象访问。

D.public访问修饰符的含义是:定义类的公有成员,是类成员的默认权限。


类成员的访问源有两个:类成员和类用户。类成员指类本身的函数成员,类用户指类外部的使用者。

第5题:

6. 以下叙述中不正确的是()

A.在类定义中,通常是用成员变量描述对象的属性; 用成员函数描述对象的行为

B.类的一个成员只能具有一种访问控制属性

C.构造函数和析构函数是特殊的成员函数,因此不允许重载(构造函数可以重载)

D.通过对象只能访问类的公有成员


A

第6题:

若class B中定义了一个class A的类成员A a,则关于类成员的正确描述是()。

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

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

C.类B的构造函数可以调用类A的构造函数进行数据成员初始化

D.类A的构造函数可以调用类B的构造函数进行数据成员初始化


如果在ClassB中定义了ClassA没有的新方法method2(),当setClassA()方法参数传递的是ClassB类型的对象时,在ClassC中可以调用obj对象的method2()方法

第7题:

要求设计一个类,它拥有一个特殊的成员域,该成员域必须能够被这个类的子类访问到,但是不能被不在同一个包内的其他类访问到。下面( )可以满足上述要求。

A、该成员域的封装属性设置为public

B、该成员域的封装属性设置为private

C、该成员域的封装属性设置为protected

D、该成员域不需要特殊的封装属性


正确答案:C

第8题:

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

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

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

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

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


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

第9题:

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

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

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

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

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


参考答案:D