首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,其中定义了Component类、Composite类和Leaf类。Component是抽象基类,Composite和kaLf是Component的公有派生类。请在横线处填写适当的代码
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,其中定义了Component类、Composite类和Leaf类。Component是抽象基类,Composite和kaLf是Component的公有派生类。请在横线处填写适当的代码
admin
2017-02-21
37
问题
请使用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://kaotiyun.com/show/UBAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
带有虚基类的多层派生类构造函数的成员初始化列表中都要列出虚基类的构造函数,这样将对虚基类的子对象初始化()。
一个()允许用户为类定义一种模式,使得类中的某些数据成员、某些成员函数的参数和返回值能取任意数据类型。
有以下程序#include<iostream.h>voidmain(){inta=5,b=0,c=0;if(a=b+c)cout<<"***"<<endl;elsecout<<"$$$"<<<endl;}
包容类Contain和内嵌类Embed定义如下:#include<iostream.h>classContain{private:intX;protected:intz;public:
C++程序是从【】函数开始执行的。
下面程序的输出结果是【】。#include<iostream.h>voidmain(){inta[6]={1,2,3,4,5,6};for(inti=0;i<5;i++)
以下程序的输出结果是#include<iostream.h>longfun(intn){longs;if(n=1||n=2)s=2;elses=n-
每个C++程序中都必须有且仅有一个
在软件工程中,白箱测试法可用于测试程序的内部结构。此方法将程序看做是
随机试题
骨折急救的目的是用简单而有效的方法,抢救生命,保护患肢,使伤者能够被安全迅速地运送至医院。骨折急救的原则是()。
若广义积分∫0+∞dx=1,其中k为常数,则k=()
A.《纽伦堡法典》B.《赫尔辛基宣言》C.《希波克拉底誓言》D.《大医精诚》E.《伤寒杂病论》反映孙思邈的医德思想和境界的是
缺铁性贫血的主要原因是
一患者上颌局部义齿修复。义齿初戴时,发现上腭后部弯制的腭杆离开腭黏膜2mm。处理方法是
上消化道大出血的常见原因除外
吗啡禁用于分娩止痛的原因是
产后6天,腹痛,发热39℃,恶露混浊有臭味,检查子宫复旧不佳,不压痛。乳房胀痛,该产妇最大可能是:
当设计无要求时,无组织排水的散水宽度可按檐口线放出()mm。
某钢厂生产螺丝钉。已知螺丝钉的质量服从正态分布,标准规定螺丝钉的质量为5克,标准差不超过0.1克。随机抽查20个螺丝钉,平均质量为=4.98克,样本的方差为s2=0.8l。检验均值采用()。
最新回复
(
0
)