首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,其中定义了Component类、Composite类和Leaf类。Component是抽象基类,Composite和Leaf是Component的公有派生类。请在横线处填写适当的代码
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,其中定义了Component类、Composite类和Leaf类。Component是抽象基类,Composite和Leaf是Component的公有派生类。请在横线处填写适当的代码
admin
2017-07-04
16
问题
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程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 chiId=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;
Composite comp;
comp.setChild(&node);
Component*P=∁
P->print();
return 0;
}
选项
答案
(1)virtual void print()const=0; (2)Component*child (3)cout<<”Leaf Node”<
解析
(1)主要考查考生对纯虚函数的掌握,题目要求声明纯虚函数print()。在其派生类中print()函数的定义为virtualvoid 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/RLAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下程序 main() {int n=9; while(n>6)<n--; cout<<n<<endl;} } 该程序段的辅出结果是
下列描述中正确的是( )。
下面程序编译时发现ma[3]=9错误,其原因是【 】。#include<iostream.h>classFunArray{int*pa;//指向一个数组空间intsize;//数组元素个数public:FunA
数据的独立性是数据库技术的重要特点之一。所谓数据独立性是指
下列程序对加号进行了重载,划线部分的语句是【 】。#include<iostream.h>#include<math.h>classTriangle{intx,y,z;double
下列运算符中,在C++语言中不能重载的是( )。
如果定义了一个类myclass,则为myclass类对象以成员函数形式重载后++运算符的声明应该为( )。
转义字符序列中的首字符是______字符。
如下类定义中包含了构造函数和拷贝构造函数的原型声明,请在横线处填写正确的内容,使拷贝构造函数的声明完整。classmyClass{private:intdata;public:myClass(in
下列有关内联函数的叙述中,正确的是()。
随机试题
证券交易所的设立和解散是由()决定的。
A.春泽汤B.沉香散C.二冬汤D.代抵当丸E.补中益气汤小便不畅,咽干,烦渴欲饮,呼吸急促,咳嗽,舌红,苔薄黄,脉数。治疗宜用
发生全身性萎缩时,各组织或器官易发生萎缩的顺序是
张某因为醉酒打伤王某,被诉至法院。在开庭审理的过程中,张某突发精神病,则此时应当:
地下连续墙宜采用()法检测其墙身结构质量。
根据《合同法》的规定,当事人在订立合同过程中实施的下列行为,属于缔约过失的有( )。
关于请示,下列说法正确的是()。
发展是解决我国一切问题的基础和关键,发展必须是科学发展,必须坚定不移贯彻()的发展理念。
公安工作既有鲜明的阶级性,又有广泛的社会性。我国公安工作必须与()相一致。
A、 B、 C、 D、 B数据结构概念一般包括以下3个方面:数据间的逻辑关系、数据在计算机中的存储方式及在这些数据上定义的运算集台。
最新回复
(
0
)