首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件proj2,其中定义了Component类、Composite类和Leaf类。Component是抽象基类,Composite和Leaf是Component的公有派生类。请在横线处填写适当的代码并删除横线,以实现上述类定义。
请打开考生文件夹下的解决方案文件proj2,其中定义了Component类、Composite类和Leaf类。Component是抽象基类,Composite和Leaf是Component的公有派生类。请在横线处填写适当的代码并删除横线,以实现上述类定义。
admin
2020-10-21
46
问题
请打开考生文件夹下的解决方案文件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全国计算机二级
相关试题推荐
结构化程序设计的基本原则不包括()。
有如下程序:#includeusingnamespacestd;classPoint{public:Point(intxx,intyy):x(xx),y(yy){}intGetxy()
下列叙述中正确的是()。
使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成函数fun(intn),求出n×n矩阵的对角线数字的平方和。如果n为奇数,则对角线交叉部位数字只参与一次计算。注意:请勿改动主函数main与其他函数中的任何内容,仅在函数fun的花括号中填
两个或两个以上的模块之间关联的紧密程度称为()。
数据库技术的根本目标是要解决数据的()。
下列有关内联函数的叙述中,正确的是()。
在下列原型所示的C++函数中,按“传值”方式传递参数的是()。
在E-R图中,用来表示实体联系的图形是()。
在数据库中,产生数据不一致的根本原因是
随机试题
下列有关委任制任职方式说法正确的有()
心理健康的现实标准之一为()
根据我国民事诉讼法规定,涉外民事诉讼中关于期间的特别规定适用于下列当事人中的()。
实验小学校长某甲,对本校已被确定为危房的校舍不作任何加固处理,也不及时报告当地政府和教育行政管理部门,致使校舍在使用中突然倒塌,造成死亡8人,重伤16人的严重后果,甲已构成:()
实质性程序结果可能需要对前期已经评估的控制有效性进行重新考虑,下列陈述中,恰当的是()。
某个团队现有张书记、王主任、李工程师、杨工程师、赵科员、马科员六个成员。现在因为工作关系,必须调整某些成员,已知:(1)只有保留王主任和李工程师、杨工程师,才能保留张书记;(2)如果不调整李工程师,则不能保留赵科员;(3)如果调整赵
2016年,我国邮政行业业务总量完成7397.2亿元,同比增长45.7%。全年邮政行业业务收入(不包括邮政储蓄银行直接营业收入)完成5379.2亿元,同比增长33.2%。快递业务实现快速增长,全年快递服务企业业务量完成312.8亿件,同比增长51
请根据下图所示网络结构回答下列问题。填写路由器RG的路由表项①至⑥。
在学生表中要查找所有年龄大于30岁姓王的男同学,应该采用的关系运算是( )。
A、学校报名B、考点报名C、邮寄报名D、网上报名D答案在第二段“依然采用网上报名”,所以选择D。
最新回复
(
0
)