题目详情

阅读下列说明和C++代码,填写程序中空(1)~(6),将解答写入答题纸对应栏内。

【说明】

以下C++代码实现一个简单绘图工具,绘制不同形状以及不同颜色图形。部分类及其关系如图6-1所示。

中级软件设计师,章节练习,基础复习,中级软件设计师模拟

【C++代码】

#include?#include?using?namespace?std;class?DrawCircle?{??????//绘制圆形,抽象类? ? ? public: (1);//定义参数为?int?radius,?int?x,?inty? ?virtual~DrawCircle()?{?}};class?RedCircle:public?DrawCircle?{????//绘制红色圆形? ? ? ? public: void?drawCircle(intradius,?int?x,?int?y)?{cout?<<?"Drawing?Circle[red,radius:<<radius;? ? ? ? ? ? ? cout?<<?",x:?"?<<x<<?",y:"<<y<<?"]"?<<?end1;? ?}};class?GreenCircle:public?DrawCircle?{????//绘制绿色圆形? ? ? public:? ?void?drawCircle(int?radius,?int?x,?int?y)?{ cout?<<"Drawing?Circle[green,radius:?"<<?radius;? ? ? ? ? ? ? ? ? ? ? ?cout?<<",x:?"?<<x<<?",y:?"<<y<<?"]"?<<?end1;? }};class?Shape?{????//形状,抽象类? ? ? protected:? (2);? ? ? public:? ?Shape(DrawCircle*drawCircle)?{? this?->?drawCircle?=?drawCircle;? }? ?virtual~shape()?{?}? public:? ?virtual?void?draw()?=?0;};class?Circle:public?Shape?{????//圆形? ? private:? ? ?int?x,y,radius;? ? public:? Circle(int?x,inty,int?radius,DrawCircle?*drawCircle)? (3)? {? this->x?=?x;? ?this->y?=?y;? ? this->radius?=?radius; }? ? ? public:? void?draw(){? drawCircle?-> (4); }};int?main(){Shape?*redCirclenew?Circle(100,100,10,????(5)????);//绘制红色圆形? Shape?*greenCircle=new?Circle(100,100,10, (6)??);//绘制绿色圆形redCircle >draw();? ?greenCircle?->draw();? ?return?0;}

正确答案及解析

正确答案
解析

(6)(1)void drawCircle (int radius,int x,int y)

(2)DrawCircle*drawCircle

(3)drawcircle

(4)drawCircle(radius,x,y)

(5)new RedCircle()

(6)new GreenCircle()【解析】

第一空是填接口里面方法,在接口实现里面找,可以发现应该填void drawCircle (int radius,int x,int y)。

第二空可以根据后面this drawCircle=drawCircle判断,这里应该有一个drawCircle属性,因此应该填)DrawCircle drawCircle。

第三空这里填drawcircle,用-> drawcircle来引用父类成员。

第四空调用drawCircle(radius,x,y)方法。

第五、六空分别创建一个红色圆形对象和一个绿色圆形对象作为Circle里面实参。

你可能感兴趣的试题

单选题

高级系统分析师,专项练习,软件水平考试《高级系统分析师》押题

  • A.V(S2)和P(S4)
  • B.P(S2)和V(S4)
  • C.P(S2)和P(S4)
  • D.V(S2)和V(S4)
查看答案
单选题

高级系统分析师,专项练习,软件水平考试《高级系统分析师》押题

  • A.V(S1)P(S2)和V(S3)
  • B.P(S1)V(S2)和V(S3)
  • C.V(S1)V(S2)和V(S3)
  • D.P(S1)P(S2)和V(S3)
查看答案
单选题

高级系统分析师,专项练习,软件水平考试《高级系统分析师》押题

  • A.P(S4)和V(S4)V(S5)
  • B.V(S5)和P(S4)P(S5)
  • C.V(S3)和V(S4)V(S5)
  • D.P(S3)和P(S4)V(P5)
查看答案
单选题

高级系统分析师,专项练习,软件水平考试《高级系统分析师》押题

  • A.P(S3)和V(S4)V(S5)
  • B.V(S3)和P(S4)P(S5)
  • C.P(S3)和P(S4)P(S5)
  • D.V(S3)和V(S4)V(S5)
查看答案
单选题

高级系统分析师,专项练习,软件水平考试《高级系统分析师》押题

  • A.P(S2)和P(S4)
  • B.P(S2)和V(S4)
  • C.V(S2)和P(S4)
  • D.V(S2)和V(S4)
查看答案

相关题库更多 +