首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下类声明: 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
2019-08-23
49
问题
有如下类声明:
class Base{
protected:
int amount;
public:
Base(int n=0):amount(n){}
int getAmount()const{return amount;}
};
class Derived:public Base{
protected:
int valHe;
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/DJ8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
阅读下面程序:#include<iostream.h>voidfun1(chara,charb){charc;c=a;a=b;b=c;}voidfun2(char&a,char&b)
对类的构造函数和析构函数描述正确的是()。
软件调试的目的是()。
表示C++类中保护成员的关键字是( )。
有如下程序:#include<iostream>usingnamespacestd;ClassA{public:A(){cout<<“A”;}~A(){cout<<“~A”;}};
以下不是结构化程序设计方法的技术是()。
下面的语句中错误的是
软件调试的目的是
在重载一个运算符为成员函数时,其参数表中没有任何参数,这说明该运算符是
算法分析的目的是()。
随机试题
A、Itisbettertoexposechildrentolanguageearlier.B、Therearecriticalperiodsforchildrentolearnlanguagequickly.C、La
设函数f(x)=x3一3x2,则
患者男,43岁,回吸鼻涕带血2个月余。若鼻咽部MRI示:右侧鼻咽部软组织增厚,咽隐窝不对称,右侧颈部多个淋巴结肿大,最大者3cm×3cm,关于该患者下列叙述正确的是
青少年牙周炎晚期可有较深的牙周袋,牙周袋常为
根据我国《合同法》的规定,合同的法定解除条件不包括()。-
Aneight—year—oldchildheardherparentstalkingaboutherlittlebrother.Allsheknewwasthathewasverysickandtheyhad
冬天从室内乍一走到室外,感觉很冷,不一会儿就不觉得冷了。这种现象是()。
阅读下列材料,回答问题:(1)德国和美国在第二次工业革命中迅速崛起的有利条件是什么?(2)第二次工业革命对欧洲的影响是什么?
十进制数值87的二进制数值是
有如下程序:#includeusingnamespacestd;classobj{staticinti;public:obj(){i++;}~obj(){i--;)s
最新回复
(
0
)