首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件proj2,其中定义了Component类、Composite类和Leaf类。Component是抽象基类,Composite和Leaf是Component的公有派生类。请在横线处填写适当的代码并删除横线,以实现上述类定义。
请打开考生文件夹下的解决方案文件proj2,其中定义了Component类、Composite类和Leaf类。Component是抽象基类,Composite和Leaf是Component的公有派生类。请在横线处填写适当的代码并删除横线,以实现上述类定义。
admin
2021-05-06
30
问题
请打开考生文件夹下的解决方案文件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全国计算机二级
相关试题推荐
有如下程序:#include<iostream>usingnamespacestd;classBase{intx;public;Base{intn=0};x(n){cout<<n;}
下列关于纯虚函数与抽象类的描述中,错误的是()。
有如下程序:#includeusingnamespacestd;intmain(){voidfunction(doubleval);doubleval;function
下列关于输入输出流的叙述中,正确的是()。
对于语句cout<<endl<<x;中的各个组成部分,下列叙述中错误的是()。
有如下类定义:classAA{inta;public:intgetRef()const{return.&a,)//①intgetValue()const{returna;)
假设函数fun已经定义,其原型为“voidfun(inta,intb=7,char*p="*");”下列函数调用中错误的是()。
下列排序方法中,最坏情况下比较次数最少的是( )。
在下面的4个关键字中用来说明虚函数的是()。
一棵二叉树中共有80个叶子结点与70个度为1的结点,则该二叉树中的总结点数为()。
随机试题
某胰头癌患者,临床上除了表现为进行性黄疸外,还伴有腹水,请问:此腹水是肿瘤压迫了什么结构引起的()
在工程质量控制中,要以人为核心,重点控制( ),充分发挥人的积极性和创造性,以人的工作质量保证工程质量。
根据国家九部委《标准监理招标文件》(2017年版),监理人更换主要监理人员的,应取得()的同意,并向其提交继任人员的资格、管理经验等资料。
甲公司为增值税一般纳税人,适用的增值税税率为17%,对外币业务采用业务发生时的市场汇率折算,按月计算借款利息并结算汇兑损益。2007年1月份甲公司发生了以下外币业务:(1)1月2日,自银行借入长期外币借款400万美元,借款期限2年,年利率6%,拟用
在队列队形练习向后转时,按向左转的要领向后转体180°。()
材料(大意):东施效颦、邯郸学步是种模仿,但模仿也有助于创新。题目:1.你是否同意该论述观点,说明理由,要求300字左右。2.以“模仿借鉴与创新”为主题写篇文章,不限文体,不要空谈,要求800字左右。
世界著名的“钨都”指的是( )
《人权宣言》
在Logistic三参数模型项目特征曲线(ICC)上,拐点处的斜率表示的参数是()
甲骨文(oraclebonescript)是中国现存最早的文字。这些刻在龟甲(tortoiseshell)或兽骨上的文字已相当成熟。没认识甲骨文之前,人们都把这些甲骨当作药材。清代(theQingDynasty)学者王懿荣偶然发现了这些龟甲和兽骨
最新回复
(
0
)