首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: class Base { public: int data; }; class Derived1 : public Base {}; class Derived2 : protected Base {}; int main() { Deriv
有如下程序: class Base { public: int data; }; class Derived1 : public Base {}; class Derived2 : protected Base {}; int main() { Deriv
admin
2020-06-29
68
问题
有如下程序:
class Base {
public:
int data;
};
class Derived1 : public Base {};
class Derived2 : protected Base {};
int main()
{
Derived1 d1;
Derived2 d2;
d1.data = 0; // ①
d2.data = 0; // ②
return 0;
}
下列关于程序编译结果的描述中,正确的是( )。
选项
A、①②皆无编译错误
B、①有编译错误,②无编译错误
C、①无编译错误,②有编译错误
D、①②皆有编译错误
答案
C
解析
本题考查公用继承和保护继承对基类成员的访问属性。在公用继承中,基类的公用成员和保护成员在派生类中保持原有访问属性,其私有成员仍为基类私有。在受保护继承中,基类的公用成员和保护成员在派生类中成了保护成员,其私有成员仍为基类私有。本题中Derived1公用继承Base,所以①编译正确,Derived2保护继承Base,所以②编译不正确。
转载请注明原文地址:https://www.kaotiyun.com/show/WZ8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列对重载函数的描述中,错误的是( )。
下述关于break语句的描述中,()是不正确的。
按照标识符的要求,下列选项中,()符号不能组成标识符。
下面程序的输出结果是#include<iostream.h>classA{public:A(){cout<<"construtA"<<endl;}Virtual~A(){cout
已知将运算符“+”和“*”作为类Complex的成员函数重载,设cl和c2是类Complex的对象,则表达式c1+c2*cl等价于()。
下列关于this指针的叙述中,正确的是()。
在下面的类定义中,错误的语句是()。classSample{public:Sample(intval);//①-Sample();//②private:int
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,补充空出的代码。函数convert(char*des,char*str)的功能是去掉字符串str中相同的字母,并将处理后的结果存到des所指的字符串中。例如:输入:T
设循环队列为Q(1:m),其初始状态为front=rear=m。经过一系列入队与退队运算后,front=30,rear=10。现要在该循环队列中作顺序查找,最坏情况下需要比较的次数为
ClassA是一个类,且有如下语句序列ClassAc1,*c2;ClassA*c3=newMyClass;ClassA&c4=c1;则ClassA的构造函数被调用的次数是
随机试题
尼曼-匹克细胞形态学突出的特征是下列哪一项
强酸中毒应当:非腐蚀性毒物中毒,但神志清醒者,最好的方法应当是:
下列病变中,属于真性肿瘤的是
能与三氯化铁试剂反应的是
下列各项经济活动中,属于企业狭义投资的是()。
道路基层用水泥土宜采用()水泥稳定。
天然牛黄
对银行业金融机构的监事和高管,中国银监会应当实行任职资格管理。()
设则=().[img][/img]
下列各组词语中有错别字的一组是:
最新回复
(
0
)