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

免费题库2022-08-02  45

问题 阅读下列说明和C++代码,填写程序中的空(1)~(6),将解答写入答题纸的对应栏内。 【说明】以下C++代码实现一个简单绘图工具,绘制不同形状以及不同颜色的图形。部分类及其关系如图6-1所示。【C++代码】#include <iostream>#include <string>using namespace std;class DrawCircle {      //绘制圆形,抽象类         public:                  (1)  ;//定义参数为 int radius, int x, int y                virtual~DrawCircle() { }}; class RedCircle:public DrawCircle {     //绘制红色圆形         public:                void drawCircle(int radius, 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,int y,int radius,DrawCircle *drawCircle)      (3)     {                         this->x = x;                         this->y = y;                         this->radius = radius;                 }         public:                 void draw() {                         drawCircle ->       (4)      ;                 }}; int main(){        Shape *redCircle=new Circle(100,100,10,     (5)    );//绘制红色圆形        Shape *greenCircle=new Circle(100,100,10,     (6)  );//绘制绿色圆形        redCircle ->draw();        greenCircle ->draw();        return 0;}

选项

答案

解析 (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里面的实参。
转载请注明原文地址:https://www.tihaiku.com/congyezige/2424928.html

最新回复(0)