首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件proj2,其中定义了Component类、Composite类和Leaf类。Component是抽象基类,Composite和Leaf是Component的公有派生类。请在横线处填写适当的代码并删除横线,以实现上述类定义。
请打开考生文件夹下的解决方案文件proj2,其中定义了Component类、Composite类和Leaf类。Component是抽象基类,Composite和Leaf是Component的公有派生类。请在横线处填写适当的代码并删除横线,以实现上述类定义。
admin
2021-05-06
35
问题
请打开考生文件夹下的解决方案文件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打开考生文件夹下的源程序文件modi1.cpp,该程序运行时有误,请改正其中的错误,使程序正常运行,并使程序在界面上输出为:平均值为:29最大值为:112最小值为:-11注意:错误的语句在//******e
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能:(1)定义类CPoint的带有两个参数的构造函数,两个变量为x、y都为int型,且缺省值为0。请在注释//***
请打开考生文件夹下的解决方案文件proj1,此工程中包含了类Pets(“宠物”)和主函数main的定义。程序中位于每个“//ERROR****found****”之后的一行语句有错误,请加以改正。改正后程序的输出结果应为:Name:sonnyType:
检查软件产品是否符合需求定义的过程称为()。
如果表达式a>=b中的“>:”是作为非成员函数重载的运算符,则可以等效地表示为()。
若AA为一个类,a为该类的私有整型数据成员,getA()为该类的一个非静态公有成员函数,功能是返回a的值。如果x为该类的一个对象,要在类外访问x对象中a的值,正确的访问格式为()。
若PAT是一个类,则程序运行时,语句“PAT{*ad)[3;”调用PAT的构造函数的次数是()。
下列关于二叉树的叙述中,正确的是()。
程序执行后的输出结果是()。#include<iostream.h>voidmain(){charflag=’c’;switch(flag){case’a’:cout<<’’1’’<<
在下面的4个关键字中用来说明虚函数的是()。
随机试题
设二次型f(x1,x2,x3)=2x12+2x1x2+4x2x3,则二次型的对应矩阵是______.
静脉采血法通常使用的采血部位是
当事人在第二审期间提出行政赔偿请求的,第二审人民法院可以进行调解,调解不成的,人民法院应当如何处理?()
电渣焊广泛用于锅炉、压力容器、重型机械等的制造,其焊接特点包括()。
压力容器的结构形式有()。
政府单位应缴国库的款项和应缴财政专户的款项均属于单位的应缴财政款。()
你的领导在你毫无准备的情况下分配给你一项任务,你如果接下这个任务将严重影响你手头正在进行的工作,你会怎么办?
我国主刑中最轻的刑罚方法是()
WriteonyourANSWERSHEETONEacompositionofabout200wordsonthefollowingtopicRainisanimportantresourceoftheu
A、Redwoodtrees.B、Forestfires.C、SanFrancisco.D、Survivalskills.A主旨题。对话中出现频率最高的词是redwoodtrees,而且对话中通篇都在讲旧金山沿海的红杉树,讲到其高度、历史
最新回复
(
0
)