首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,其中定义了Component类、Composite类和Leaf类。Component是抽象基类,Composite和Leaf是Compo-nent的公有派生类。请在横线处填写适当的代
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,其中定义了Component类、Composite类和Leaf类。Component是抽象基类,Composite和Leaf是Compo-nent的公有派生类。请在横线处填写适当的代
admin
2020-06-29
21
问题
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,其中定义了Component类、Composite类和Leaf类。Component是抽象基类,Composite和Leaf是Compo-nent的公有派生类。请在横线处填写适当的代码并删除横线,以实现上述类定义。此程序的正确输出结果应为:
Leaf Node
注意:只能在横线处填写适当的代码,不要改动程序中的其他内容,也不要删除或移动“//****found****”。
l #inclUde
2 using namespace std;
3
4 class Component{
5 public:
6 //声明纯虚函数print()
7 //********found********
8
9 },
10
11 class Composite:public Component{
12 public:
13 //**********found**********
14 void setChild(______)
15 {
16 m_chiid=chiid;
17 }
18 virtual void print()const
19 {
20 m_child->print();
21 }
22 private:
23 Component*m_child;
24 };
25
26 class Leaf:publ ic Component{
27 public:
28 virtual void print()const
29 {
30 //**********found**********
31 _______
32 }
33 };
34
35 int main()
36 {
37 Leaf node;
38 Composite comp;
39 comp.setChild(&node);
40 Component*p=∁
41 p->print();
42 return 0;
43 }
选项
答案
(1)virtual void print()const=0; (2)Component*child (3)cout<<"Leaf.Node"<
解析
(1)主要考查考生对纯虚函数的掌握,题目要求声明纯虚函数print()。在其派生类中print()函数的定义为virtualwild print()const,由此可知纯虚函数为virtual void print()const=0。
(2)主要考查考生对成员函数的掌握,题目要求填写函数void setChild的形参,由setChild的函数体可知形参为child,再看类的私有成员m_child的定义:Component*m_child;。由此可知形参为:Component*child。
(3)主要考查考生对纯虚函数的掌握,先看主函数的程序:
1 Leaf node;
2 Composite comp;
3 comp.setChiid(&node);
4 Component*p=∁
5 p->print();
第一条和第二条语句都是定义语句,第三条语句调用函数setChild,由setChild函数的定义可知,comp中的m_child等于node,第四条语句定义了个指针P指向comp的地址,也就是node,最后一条语句通过指针P调用函数print,也就是调用类Leaf的函数print,因为题目要求输出:Leaf Node,因此在这里添加语句:cout<<"Leaf Node"<
转载请注明原文地址:https://www.kaotiyun.com/show/z78p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成以下两个函数:(1)funl(intn);求出n的阶乘,必须使用递归调用。(2)fun2(intn);求出n的阶乘,不能使用递归调用。如果11小于1则返回0。
下列语句或语句序列中有语法错误的是
下面是重载为非成员函数的运算符的函数原型,其中错误的是()。
软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是( )。
在下列选项中,不允许作为C++标识符的是
下列有关运算符重载的表述中,正确的是
使用VC6打开考生文件夹下的源程序文件modil.cpp,但该程序运行时有错,请改正程序中的错误,使程序输出的结果为:Number=7Number=12注意:错误的语句在∥********error********的下面,修改
在下列选项中,不允许作为C++标识符的是
下面描述中不属于软件需求分析阶段任务的是
存在定义inta[10],x,•pa;,若pa=&a[0],下列的哪个选项和其他3个选项不是等价的?()
随机试题
个人词库使用时,禁止将原先的“YWDAN”进行备份。
3名学生中午共同进食“涮羊肉”,使用煤气火锅。食后约有1h,其中2名同学出现头晕、恶心伴呕吐,大小便正常来诊。医生查体:病人血压正常,巩膜无黄染,双眼瞳孔等大,直径约3mm,心肺听诊无异常,腹软,全腹无压痛。医生初步诊断可能为
患者,女性,25岁,查体时发现心尖部舒张期隆隆样杂音,心界不大。该患者左房失代偿期最严重的表现是
女,30岁。由于侧身倒地右掌支撑,右肩部肿胀,疼痛剧烈,检查:右肩轻度外展,弹性固定,方肩畸形,Dugas征(搭肩试验)阳性。临床诊断是
尿蛋白定量标本瓶中的防腐剂是()。
个人理财风险的影响因素中的宏观因素包括()。
全国人民代表大会常务委员会制定《中华人民共和国反垄断法》,是行使市场规制立法权的行为。()
下列行为中,属于《证券法》规定的欺诈客户行为的有()。
电子计算机传统的分代方法,第1代至第4代计算机依次是
Aftertypingthepinyin,alistofcharacters______thesamepronunciationpopsup,______whichuserscanchoose______theyarel
最新回复
(
0
)