首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明、图和C++代码,填补C++代码中的空缺(1)~(5),将解答写在对应栏内。 [说明] 已知对某几何图形绘制工具进行类建模的结果如图5-1所示,其中Shape为抽象类(应至少包含一个纯虚拟(virreal)函数),表示通用图形,Bo
阅读下列说明、图和C++代码,填补C++代码中的空缺(1)~(5),将解答写在对应栏内。 [说明] 已知对某几何图形绘制工具进行类建模的结果如图5-1所示,其中Shape为抽象类(应至少包含一个纯虚拟(virreal)函数),表示通用图形,Bo
admin
2012-01-13
72
问题
阅读下列说明、图和C++代码,填补C++代码中的空缺(1)~(5),将解答写在对应栏内。
[说明]
已知对某几何图形绘制工具进行类建模的结果如图5-1所示,其中Shape为抽象类(应至少包含一个纯虚拟(virreal)函数),表示通用图形,Box表示矩形,Ellipse表示椭圆,Circle表示圆(即特殊的椭圆),Line表示线条。
下面的C++代码用于实现图5-1所给出的设计思路,将其空缺处填充完整并编译运行,输出结果为:
Ellipse
Circle
Ellipse
C
E
[C++代码]
#include<string>
#include<iostream>
using namespace Std;
class Shape{
public:
Shape(const String& name){
m_name=name;
}
~Shape(){}
(1) void paint()=0;
string getName()const{
return m_name;
}
private:
string m_name;
};
//Box和Line类的定义与Ellipse类似,其代码略
class Ellipse (2) {
public:
Ellipse(const String& name): Shape(name){cout<<"E1lipse"<<end1;}
void paint() { cout<<getName()<<end1; }
};
class Circle (3) {
public:
Circle(const string& name): Ellipse(name)(cout<<"Circle"<<end1;}
};
class Diagram{
public:
void drawAShap(Shape* shape){ shape->paint();}
void drawShapeS(){
shapes[0]=new Circle("C");
shapes[1]=new Ellipse("E");
for (int i=0; i<2; ++1) {
drawAShap(Shapes
);
}
}
void close()( /*N除形状,代码略$/)
private:
Shape* shapes[2];
};
int main()
{
Diagram* diagram= (4) ;
diagram->drawShapes();
diagram->close();
(5) diagram;
}
选项
答案
virtual public Shape public Ellipse new Diagram delete
解析
本题考查C++语言程序设计的能力,涉及类和抽象类、对象、函数和虚函数的定义和相关操作,以及继承关系。要求考生根据给出的案例和执行过程说明,认真阅读理清程序思路,然后完成题目。
先考查类图整体结构。本题中根据类图定义了类:Diagram、Shape、Box、Ellipse、Line和Circle。其中Shape为抽象类,表示通用图形,抽象类中应至少包含一个纯虚拟(virtual)函数。Box表示矩形,Ellipse表示椭圆,Line表示线条,三者都是Shape的子类,继承了Shape类,Circle表示圆(即特殊的椭圆),继承了Ellipse。
抽象类Shape的定义中,需要通过使用virtual标识虚函数,void paint()=0;表示paint()是纯虚函数,其定义前必须添加virtual进行表示。类Ellipse为Shape的子类,Circle为Ellipse的子类,需要在代码中体现出继承。另外,在子类的构造函数中,调用父类的构造函数,所以继承的权限为public。其语法为:public后加类名。
类Diagram中没有定义构造函数,编译器生成一个缺省的构造函数,调用是采用new关键字加类名。使用完成之后,通过delete进行释放。
因此空(1)需要表现出paint()函数为纯虚函数,即为virtual;空(2)和空(3)处添加继承父类,并且权限为public,即为:public Shape和:public Ellipse;空(4)处补充通过使用编译器生成的缺省构造函数创建对象,即ilew Diagram;空(5)处通过delete释放new创建的对象diagram。
转载请注明原文地址:https://kaotiyun.com/show/A6jZ777K
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
以下关于Word2010图形和图片的叙述中,不正确的是()。
下列(28)不属于电子商务的应用模式。
WindowsXP中,被删除的文件默认存放在()中,需要时还可以进行恢复。
某互联网公司建立的用户画像(标签化的用户信息)包括人口属性和行为特征两大类,()属于行为特征。
数据录入工作有两个指标:录入速度和错误率。一般而言,数据录入员在录入大批数据时,录入速度会(65),错误率会(66)。65
在Excel2007中,若在单元格A1中输入函数“=ROUNDUP(3.1415926,2)”,按回车键后,则A1单元格中的值为______。
某数据库“成绩表”中包括准考证号、姓名、科目1成绩、科目2成绩、身份证号和报考资格名称等字段,以下对该“成绩表”的评价中,______较为恰当。
在Word2003中,为使插入的图片具有水印效果,应选择________环绕方式。
在Word2007编辑状态下,要打印文稿的第1页、第3页和第6、7、8页,可在打印页码范围中输入(33)。
有一个关系:学生(学号,姓名,系别)。其中规定了学号的值域是8个数字组成的字符串,这属于(23)。
随机试题
ManypeoplebelievethatAmericanslovetheircarsalmostmorethananythingelse.Theyare【21】aboutcars.Notonlyisthecart
胎盘由胎儿的_______和母体的_______共同构成,其_______面光滑,表面覆有_______,_______面粗糙,可见15~30个_______,胎盘主要具有_______和_______的功能。
下列反映肝细胞损害最敏感的检查指标是()
一座旧厂房改造的超级市场,在该旧厂房建成后4年补办了土地使用权出让,年限为40年,建筑物的经济寿命为50年。这种情况下,计算建筑物折旧的经济寿命应为()年。
()通常指派最高风险管理委员会负责拟定具体的风险管理政策和指导原则。
(2012年)下列各项关于对境外经营财务报表进行折算的表述中,正确的有()。
广告创意要在坚持客观事实的条件下,升华凝练出主题思想与广告语,并且从表象、意象、联想中获取创作的素材,体现出广告创意的()特征
根据画线部分进行仿写。学会宽容,宽容是容纳大树小草的田野,是接受阳光雨的天空,是_____________________;宽容是吹开闭锁保守的清风,是洗涤狭隘自私的雨水,是_____________________。
从整体看,全球电子商务未来发展潜力惊人,而法律监管尚存在许多空白,尤其是如何规范跨国界网上交易,成为电子商务发展的严峻问题。美国和欧盟目前除加强内部立法外,正在加强沟通,力求建立一种为世界各个国家和地区接受的电子商务游戏规则。美国联邦贸易委员会近
Abooklesslifeisa/an【C1】______life.Booksinfluencethedepthand【C2】______oflife.Theymeetthenaturaldesireforfreedo
最新回复
(
0
)