首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,其中定义了Component类、Composite类和Leaf类。Component是抽象基类,Composite和kaLf是Component的公有派生类。请在横线处填写适当的代码
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,其中定义了Component类、Composite类和Leaf类。Component是抽象基类,Composite和kaLf是Component的公有派生类。请在横线处填写适当的代码
admin
2017-02-21
18
问题
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,其中定义了Component类、Composite类和Leaf类。Component是抽象基类,Composite和kaLf是Component的公有派生类。请在横线处填写适当的代码并删除横线,以实现上述类定义。此程序的正确输出结果应为:
Leaf Node
注意:只能在横线处填写适当的代码,不要改动程序中的其他内容,也不要删除或移动“//****found****”。
#include<iostream>
using namespace std;
clas s Component {
public:
//声明纯虚函数print()
//**********found**********
};
clasS Composite:public Component{
public:
//**********found**********
void setChild(_______)
{
m_child=child;
}
virtual void print()const
{
m_child->print();
}
private:
Component * m_child;
};
class Leaf:public Component{
public:
virtual void print()const
{
//**********found**********
}
};
int main()
{
Leaf node;
Compos ite comp;
comp.setChild(&node);
Component * P=∁
P->print();
return 0;
}
选项
答案
(1)virtual void print()const=0; (2)Component * child (3)cout<<"Leaf Node"<<end1;
解析
(1)主要考查考生对纯虚函数的掌握,题目要求声明纯虚函数print()。在其派生类中print()函数的定义为virtual void print()const,由此可知纯虚函数为virtual void print()const=0。
(2)主要考查考生对成员函数的掌握,题目要求填写函数void setChild的形参,由setChild的函数体可知形参为child,再看类的私有成员m_child的定义:Component * m_child;。由此可知形参为:Component * childo
(3)主要考查考生对纯虚函数的掌握,先看主函数的程序:
Leaf node;
Compos ite comp;
comp.setChild(&node);
Component * P=∁
P->print();
第一条和第二条语句都是定义语句,第三条语句调用函数setChild,由setChild函数的定义可知,comp中的re_child等于node,第四条语句定义了个指针P指向comp的地址,也就是node,最后一条语句通过指针P调用函数print,也就是调用类Leaf的函数print,因为题目要求输出:Leaf Node,因此在这里添加语句:cout<<"Leaf Node"<<end1;。
转载请注明原文地址:https://jikaoti.com/ti/NXt0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列关于C++函数的描述中正确的是()。
有以下程序#include<iostream.h>voidmain(){inta=5,b=0,c=0;if(a=b+c)cout<<"***"<<endl;elsecout<<"$$$"<<<endl;}
下列对基类和派生类关系的描述中,错误的是()。
C++源晚间中包含的输入/输出头文件为()。
C++程序是从【】函数开始执行的。
面向对象的模型中,最基本的概念是对象和【】。
以下程序的输出结果是#include<iostream.h>voidmain(){charx=040;cout<<(X<<1);}
以下程序的输出结果是#include<iostream.h>longfun(intn){longs;if(n=1||n=2)s=2;elses=n-
将x+y*z中的“+”用成员函数重载,“*”用友元函数重载应写为【】。
模板使我们可以用一个代码段指定一组相关函数(称为______)或一组相关类(称为______。
随机试题
A左上腹和肩胛间B右肩胛C心前区和左臂尺侧D上腹部和脐区E腹股沟区胆囊炎的牵涉痛区是
皮肌炎的发病与下列哪一项因素关系最大
男,59岁。2型糖尿病12年,口服降血糖药物治疗,空腹血糖5.6mmol/L,餐后2小时血糖14.6mmol/L,糖化血红蛋白7.6%。3年前眼底检查可见微血管瘤和出血。近2个月来视力明显减退,眼底检查可见新生血管和玻璃体出血。目前糖尿病视网膜病变已进展为
男,30岁,下肢急性蜂窝织炎伴全身化脓性感染,需抽血做血培养及抗生素敏感试验,最佳时间应是
对于国务院反垄断委员会的机构定位和工作职责,下列哪一选项是正确的?(2009年试卷一第24题)
我们党领导的改革开放之所以实现了目的和效果的高度统一,就在于我们始终坚持从我国社会主义初级阶段基本国情出发,()。
下列属于浅基坑的支护形式的有()。
甲公司系增值税一般纳税人,适用的增值税税率为17%,适用的所得税税率为25%,按净利润的10%计提法定盈余公积。甲公司2016年度财务报告批准报出日为2017年3月5日,2016年度所得税汇算清缴于2017年4月30日完成,预计未来期问能够取得足够的应纳税
【】是一种信息隐蔽技术,目的在于将对象的使用者和对象的设计者分开。
ManypeopleinvestinthestockmarkethopingtofindthenextMicrosoftandDell.However,Iknowfrompersonalexperiencehow
最新回复
(
0
)