首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件proj2,其中定义了Component类、Composite类和Leaf类。Component是抽象基类,Composite和Leaf是Component的公有派生类。请在横线处填写适当的代码并删除横线,以实现上述类定义。
请打开考生文件夹下的解决方案文件proj2,其中定义了Component类、Composite类和Leaf类。Component是抽象基类,Composite和Leaf是Component的公有派生类。请在横线处填写适当的代码并删除横线,以实现上述类定义。
admin
2021-05-06
66
问题
请打开考生文件夹下的解决方案文件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_child=chiid;
}
virtual void print( )const
{
m_chiid->print( );
}
private:
Component*m_chiid;
};
class Leaf:public Component{
public:
virtualvoidprint( )const
{
//*******found*******
}
};
int main( )
{
Leaf node;
Composite comp;
comp.setChiid(&node);
Component*p=&comp:
p->print( );
return0;
}
选项
答案
(1)virtual 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.setChiid(&node);
Component*p=∁
p->print( );
第一条和第二条语句都是定义语句,第三条语句调用函数setChild,由setChild函数的定义可知,comp中的m_child等于node,第四条语句定义了个指针p指向comp的地址,也就是node,最后一条语句通过指针p调用函数print,也就是调用类Leaf的函数print,因为题目要求输出:Leaf Node,因此在这里添加语句:tout<<"Leaf Node"<<endl;。
转载请注明原文地址:https://kaotiyun.com/show/YLfp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
使用VC6打开考生文件夹下的源程序文件modi2.cpp。完成函数fun(chaur*str,char*s)空出部分。函数fun(char*str,char*s)的功能是:将在字符串str中下标为偶数位置上的字符,紧随其后重复出现一次,放在一个新串s中,s
下列选项中,与实现运行时多态性无关的是()。
下列模板声明中,有语法错误的是()。
有如下类定义:classB{public:voidfun1(){}private:voidfun2(){}protected:voidfun3(){}};classD:publicB{
定义派生类时,若不使用关键字显式地规定采用何种继承方式,则默认方式为()。
若PAT是一个类,则程序运行时,语句’’PAT(*ad)[3];’’调用PAT的构造函数的次数是()。
已知主函数中通过如下语句序列实现对函数模板swap的调用:inta[10],b[10];swap(a,b,10);下列对函数模板swap的声明中,会导致上述语句序列发生编译错误的是()。
打开文件时可单独或组合使用下列文件打开模式()。①ios_base::app②ios_base::binary③iosbase::in④iosbase::out若要以二迸制读方式打开一个文件,需使用的文件打开模式为
在下面的4个关键字中用来说明虚函数的是()。
下列给定程序中,函数fun的功能是:从n个学生的成绩中统计出低于平均分的学生人数,此人数作为函数值返回,平均分存放在形参avet所指的存储单元中。例如,输入8名学生的成绩:80.5、60、72、90.5、98、51.5、88、64则低于
随机试题
虽然苏轼一直被卷入政治漩涡中,但他_____,超脱于蝇营狗苟的政治斗争之外,纯然表达心之所感,将得失_____。填入画横线部分最恰当的一项是()。
病理性心境恶劣是下列哪种疾病的典型表现之一
A.代偿性呼吸性酸中毒B.失代偿性呼吸性酸中毒C.呼吸性酸中毒并发代谢性酸中毒D.呼吸性酸中毒并发代谢性碱中毒E.呼吸性碱中毒
女性,60岁,间断水肿3年,加重1个月,气短、尿少2天。既往有糖尿病病史2年。查体:血压150/90mmHg,腹水征阳性,下肢明显水肿,其余未见异常。辅助检查:尿蛋白(++++),红细胞0~2个/HP,血浆白蛋白20g/L。对该患者确诊和治疗最有意义的
关于不作为下列哪些说法正确?
根据公司法律制度规定,下列事项发生变更时,公司应当在有关决议或者决定做出之日起90日后申请变更登记的是( )。
浙江省花园村年满十八周岁以上村民600人,村民会议投票表决罢免村委会副主任高某。下列哪项是罢免被通过的最低人数要求?
论狭义无权代理与表见代理的联系和区别。[浙江财大2020年研;北邮2008年研]
设f(x)连续,且f’(0)>0,则存在δ>0,使得().
奔腾采用了增强的64位数据总线,它的含义是()。
最新回复
(
0
)