首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件proj2,其中定义了Component类、Composite类和Leaf类。Component是抽象基类,Composite和Leaf是Component的公有派生类。请在横线处填写适当的代码并删除横线,以实现上述类定义。
请打开考生文件夹下的解决方案文件proj2,其中定义了Component类、Composite类和Leaf类。Component是抽象基类,Composite和Leaf是Component的公有派生类。请在横线处填写适当的代码并删除横线,以实现上述类定义。
admin
2020-10-21
61
问题
请打开考生文件夹下的解决方案文件proj2,其中定义了Component类、Composite类和Leaf类。Component是抽象基类,Composite和Leaf是Component的公有派生类。请在横线处填写适当的代码并删除横线,以实现上述类定义。此程序的正确输出结果应为:
Leaf Node
注意:只能在横线处填写适当的代码,不要改动程序中的其他内容,也不要删除或移动“//****found****”。
#include<iostream>
using namespace std;
class Component{
public:
//声明纯虚函数print()
//**********found**********
____________
};
class Composite:public Component{
public:
//**********found**********
void setChild(__________)
{
m_chiid=chiid;
}
virtual void print()const
{
m_chiid—>print();
}
private:
Component * m_chiid;
};
class Leaf:public Component{
public:
virtual void print()const
{
//**********found**********
___________
}
};
int main()
{
Leaf node;
Composite comp;
comp.setChiid(&node);
Component *p=∁
p—>print();
return 0;
}
选项
答案
(1)vinual void print()const=0; (2)Component * child (3)cout<<"Leaf Node"<<endl;
解析
(1)主要考查考生对纯虚函数的掌握,题目要求声明纯虚函数print()。在其派生类中print()函数的定义为virtual void print()const,由此可知纯虚函数为virtual void print()const=0。
(2)主要考查考生对成员函数的掌握,题目要求填写函数void setChild的形参,由setChild的函数体可知形参为child,再看类的私有成员m_child的定义:Component * m_child;。由此可知形参为:Component * child。
(3)主要考查考生对纯虚函数的掌握,先看主函数的程序:
Leaf node;
Composite comp;
comp.setChild(&node);
Component * p=∁
p—>print();
第一条和第二条语句都是定义语句,第三条语句调用函数setChild,由setChild函数的定义可知,comp中的m_child等于node,第四条语句定义了个指针p指向comp的地址,也就是node,最后一条语句通过指针p调用函数print,也就是调用类Leaf的函数print,因为题目要求输出:Leaf Node,因此在这里添加语句:cout<<"Leaf Node"<<endl;。
转载请注明原文地址:https://kaotiyun.com/show/kVyp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
if语句的语法格式可描述为:格式1:if()或格式2:if()else关于上面的语法格式,下列表述中错误的是()。
有如下程序:#include#includeusingnamespacestd;classPerson{public:Person(stringn):name(n){}~Pers
下面不属于需求分析阶段工作的是()。
下列关于派生类构造函数和析构函数的说法中,错误的是()。
下列有关运算符重载的叙述中,正确的是()。
使用VC6打开考生文件夹下的源程序文件modi1.cpp,该程序运行时有错误,请改正其中的错误,使程序正确运行。并且使程序输出的结果为:OK注意:错误的语句在//******error******的下面,修改该语句即可。#include<iostre
使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成以下两个函数:(1)fun1(intn);求出n的阶乘,必须使用递归调用。(2)fun2(intn):求出n的阶乘,不能使用递归调用。如果n小于1则返回0。注意:请勿改动主函数ma
在C++语言中函数返回值的类型是由()决定的。
使用VC6.打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,补充空出的代码。函数DecToBin(char*des,intn)的功能是将十进制数据n转换成二进制数据,并将转换结果存放在des中。如:120的二进制数据为1
将E-R图转换为关系模式时,实体和联系都可以表示为()。
随机试题
对于实现战略目标具有关键作用而又有发展优势,或者自身发展薄弱而需要着重加强的方面、环节和部分的是()
仲裁与诉讼的区别表现在哪几个方面?
起于浅表,形小而圆,红肿热痛,容易化脓者为
患者,男,68岁,既往有高血压、心绞痛、房室传导阻滞和胃溃疡病史。近日因出现哮喘症状就诊,医师处方布地奈德气雾剂吸入,沙丁胺醇气雾剂吸入,氨氯地平片口服及硝酸甘油片舌下含服治疗。该患者因近日在浇花时出现心悸和手指震颤就诊,出现上述症状的可能原因是
露天边坡的主要事故类型是滑坡事故,下列关于预防滑坡事故措施的说法中,错误的是()。
关于建筑工程施工质量验收单元划分的说法,错误的是()。
企业置存一定数量的现金导致这部分资金不能用于生产经营周转而造成的收益损失,属于持有现金成本的()。
南四湖是微山湖、昭阳湖、独山湖、南阳湖四个相连湖的总称,位于山东省西南部济宁市,邻接河北省,现属微山县管辖。()
《红米饭南瓜汤》中唱道:“穿草鞋背土枪,反‘围剿’斗志旺,毛委员和我们在一起,天天打胜仗。”这首歌描述的情境所处的历史时期是()。
请在【答题】菜单下选择【进入考生文件夹】命令,并按照题目要求完成下面的操作。注意:以下的文件必须都保存在考生文件夹下。小李是北京某政法学院教务处的工作人员,法律系提交了2012级4个法律专业教学班的期末成绩单,为更好地掌握各个教学班学
最新回复
(
0
)