首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件proj2,其中定义了Component类、Composite类和Leaf类。Component是抽象基类,Composite和Leaf是Component的公有派生类。请在横线处填写适当的代码并删除横线,以实现上述类定义。
请打开考生文件夹下的解决方案文件proj2,其中定义了Component类、Composite类和Leaf类。Component是抽象基类,Composite和Leaf是Component的公有派生类。请在横线处填写适当的代码并删除横线,以实现上述类定义。
admin
2019-04-24
31
问题
请打开考生文件夹下的解决方案文件proj2,其中定义了Component类、Composite类和Leaf类。Component是抽象基类,Composite和Leaf是Component的公有派生类。请在横线处填写适当的代码并删除横线,以实现上述类定义。此程序的正确输出结果应为:
Leaf Node
注意:只能在横线处填写适当的代码,不要改动程序中的其他内容,也不要删除或移动“//****found****”。
#include
using namespace std;
class Component{
public:
//声明纯虚函数print()
//********found********
};
class Composite:public Component{
public:
//********found********
void setChiid(___________)
{
m child=child;
}
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)virtual void print()const=0; (2)Component}chiht (3)cout<<"Leaf Node"<
解析
(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=&comp;
p->print();
第一条和第二条语句都是定义语句,第三条语句调用函数setChild,由setChild函数的定义可知,comp中的m_child等于node,第四条语句定义了个指针P指向comp的地址,也就是node,最后一条语句通过指针p调用函数print,也就是调用类Leaf的函数print,因为题目要求输出:Leaf Node,因此在这里添加语句:cout<<"Leaf Node"<
转载请注明原文地址:https://kaotiyun.com/show/mOAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
在关系数据库中,用来表示实体之间联系的是______
测试用例包括输入值集和______值集。
设有以下定义和程序:#include<iostream.h>classA1{public:voidshow1(){cout<<"classA1"<<end1;}};cla
栈C最多能容纳4个元素,现有6个元素按A、B、C、D、E、F的顺序进栈,下列哪个序列不是可能的出栈序列()。
下面对对象概念描述正确的是()
下列叙述中正确的是()。
非成员函数应声明为类的______函数才能访问这个类的private成员。
执行以下程序后,输出“*”号的个数是______。#include<iostream.h>main(){inti,j;for(i=1;i<5;i++)for(j=2;j<=i;j++)cout<<’
指针变量所保存的不是一般的数据值,而是程序中另一个对象的______。
有如下定义:classMA{intvalue;public:MA(intn=0):value(n){}};MA*ta,tb;其中MA类的对象名标识符是_____
随机试题
数据加密是指要把保护的数据进行编码后形成______________。
A.急性粟粒性肺结核B.急性空洞型肺结核C.局灶型肺结核D.千酪性肺炎(2009年)属于非活动性肺结核的是
位于某镇工业区中的日化厂,受托为甲市一家化妆品公司加工化妆品一批,委托方提供的原材料不含税金额66万元,加工结束向委托方开具专用发票收取加工费和辅助材料费的含税金额共计35.1万元;该日化工厂无同类化妆品市场价格。化妆品公司收回化妆品后以150万元的价值出
成语“爱屋及乌”的含义是“爱人者,兼屋上之乌”,它体现了()
根据《中华人民共和国出境入境管理办法》规定,旅游团队出境前已经确定分团入境的,组团社应当事先向()备案。
某乡一所初中进行危房改造,乡政府公开向学生家长集资。由于进度缓慢,乡政府便向学校下了一道命令,凡是缴了集资的家庭,其子女可以在学校正常上课,否则要让学生停课回家催家长缴款。结果,该校50多人的教学班只剩下10多名学生,教师无法正常上课,只好停课一周。
分析下面的谱例。要求:判断调式调性。
图像文件的类型有多种,下列哪一种图像文件可以具有动画效果?()
通用异步收发器(UART)由【61】器、接收器、控制单元以及【62】发生器等构成。
下列与表中字段相关的属性中,通过设置可以提高查询速度的属性是
最新回复
(
0
)