首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下类声明: class Base{ protected: int amount; public: Base(int n=0):amount(n){} int getAmount()const{return amount;} }; class Deriv
有如下类声明: class Base{ protected: int amount; public: Base(int n=0):amount(n){} int getAmount()const{return amount;} }; class Deriv
admin
2016-07-13
51
问题
有如下类声明:
class Base{
protected:
int amount;
public:
Base(int n=0):amount(n){}
int getAmount()const{return amount;}
};
class Derived:public Base{
protected:
int value;
public:
Derived(int m,int n):value(m),Base(n){}
int getData()const{return value+amount;}
};
已知x是一个Derived对象,则下列表达式中正确的是( )。
选项
A、x.value+x.getAmount()
B、x.getData()一x.getAmount()
C、X.getData()一x.amount
D、x.value+x.amount
答案
B
解析
本题考查公有继承中派生类对象对基类的访问属性。在公有继承中,派生类对象只能访问基类的公有成员,而不能访问基类的保护成员和私有成员。题中x是派生类的对象,只能访问基类中公有的Base()和getAmount()成员,而不能访问保护类型的amount成员,故选项C、D错误。而类对象对类成员的访问也存在类似的情况,即类对象只能访问类的公有成员,而value是Derived的保护成员,所以A选项也错误。故答案为B。
转载请注明原文地址:https://kaotiyun.com/show/ciNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下面程序段的运行结果是 #include<iostream.h> voidmain() {char*s="abcde"; S+=2; cout<<&s;}
若有以下程序:#include<iostream>usingnamespacestd;template<classT>Tmin(Tx,Ty){if(x<y)retur
经常和一个运算符连用,构成一个运算符函数名的C++关键词是【】。
设有以下定义和程序:#include<iostream.h>classA1{public:voidshowl(){cout<<"classA1"<<end1;
以下函数调用语句中含有参数的个数是 excc((v1,v2),(v2,v3,v4),v6);
下列关于运算符重载不正确的是
若变量已正确定义并赋值,以下符合C++语言语法的表达式是
在进行了任何C++流的操作后,都可以用C++流的有关成员函数检测流的状态,其中只能用于检测刚进行的操作是否失败函数名是()。
c++流中重载了运算符<<,它是一个
每个以符号______开头的行,为编译预处理行。
随机试题
A、ThesolarsystemisabitsmallerthantheGreatBear.B、ThesolarsystemisbiggerthantheGreatBear.C、Thesolarsystemis
在大部分慢性肾脏疾病。肾功能不全时,高血压的主要原因是
关于酶活性中心的叙述,下列哪项是最确切的
洁治术后不需做
A.清蛋白B.铜蓝蛋白C.铁转运蛋白D.结合珠蛋白E.α球蛋白可结合某些药物,使其易溶于水的是
下列纠纷,当事人可申请仲裁的有:
混凝土坝裂缝处理的目的是()。
Cyrilneverdreamsof______forhimtoworkinsuchabigcompanysosoon.
对某一范围内所有被研究对象进行调查的研究类型是()
如果级数都发散,则()
最新回复
(
0
)