首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件proj2,其中定义了Component类、Composite类和Leaf类。Component是抽象基类,Composite和Leaf是Component的公有派生类。请在横线处填写适当的代码并删除横线,以实现上述类定义。
请打开考生文件夹下的解决方案文件proj2,其中定义了Component类、Composite类和Leaf类。Component是抽象基类,Composite和Leaf是Component的公有派生类。请在横线处填写适当的代码并删除横线,以实现上述类定义。
admin
2021-05-06
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_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全国计算机二级
相关试题推荐
请打开考生文件夹下的解决方案文件proj3,其中声明了SortedList类,是一个用于表示有序数据表的类。其成员函数insert的功能是将一个数据插入到一个有序表中,使得该数据表仍然保持有序。请编写这个insert函数。程序的正确输出应为:插入前:1
请打开考生文件夹下的解决方案文件proj3,此工程中包含一个源程序文件proj3.cpp,其中定义了用于表示平面坐标系中的点的类MyPoint和表示矩形的类MyRectangle;程序应当显示:(0,2)(2,2)(2,0)(0,0)4但程序中有缺失部
有三个关系R、S和T如下:则由关系R和S得到关系T的操作是()。
已知Value是一个类,Value是Value的一个对象。下列以非成员函数形式重载的运算符函数原形中,正确的是()。
有如下类定义:classB{public:voidfun1(){}private:voidfun2(){}protected:voidfun3(){}};classD:publicB{
若有定义“intx=4,y=5;”,则表达式“y>x++?x--:y++”的值为()。
数据库设计过程不包括()。
设二叉树的后序序列为DGHEBIJFCA,中序序列为DBGEHACIFJ。则前序序列为
使用VC++6.0打开考生文件夹下的源程序文件1.cpp,该程序运行时有错误,请改正程序中的错误,本题的功能是通过键盘输入字符串str,然后输出字符串str中的字符个数。注意:错误的语句在/********error********/的下面,修改
软件测试的目的是()。
随机试题
按照我国《化妆品卫生规范》的规定,测定化妆品菌落总数的培养时间为
与DSA影像质量无关的是
湿热蕴结所致的泄泻可用
索赔可以从不同角度分类,如按索赔目的分类,可分为()。
国家标准规定,水泥的强度等级由该水泥的()的测定结果确定。
“老师在‘创作’模块的课堂教学中,引导学生聆听《沂蒙山小调》,并分析其‘鱼咬尾’的发展手法,然后用该手法写作旋律”,该教学活动是()。
下列措施属于健全收入再分配调节机制的是()。
给定资料材料1“十二五”时期,江西经济保持了平稳较快发展,全省经济总量在2011年突破万亿元大关后,2015年达到1.67万亿元,占全国GDP比重由2010年的2.31%提高到2015年的2.47%;全省人均地区生产总值由2010年的2
Butforhiscourage,thebattle______.
5月15日,某交易所8月份黄金期货合约的价格为399.5美元/盎司,10月份黄金期货合约的价格为401美元/盎司。某交易者此时入市,买入一份8月份黄金期货合约,同时卖出一份10月份黄金期货合约。在不考虑其他因素影响的情况下,下列选择中使该交易者亏损的是(
最新回复
(
0
)