网友您好, 请在下方输入框内输入要搜索的题目:

题目内容 (请给出正确答案)

下面是类Shape的定义: classShape{ public: virtualvoidDraw( )=0; } 下列关于Shape类的描述中,正确的是( )。

A.类Shape是虚基类

B.类Shape是抽象类

C.类Shape中的Draw函数声明有误

D.语句“ShapeS;”能够建立Shape的一个对象S


参考答案

更多 “ 下面是类Shape的定义: classShape{ public: virtualvoidDraw( )=0; } 下列关于Shape类的描述中,正确的是( )。A.类Shape是虚基类B.类Shape是抽象类C.类Shape中的Draw函数声明有误D.语句“ShapeS;”能够建立Shape的一个对象S ” 相关考题
考题 ( 12 ) “ 图形 ” 类 Shape 中定义了纯虚函数 CalArea() ,“ 三角形 ” 类 Triangle 继承了类Shape ,请 将Triangle 类中的 CalArea 函数补充完整。class Shape{public:virtual int CalArea()=0;}class Triangle: public Shape{public:Triangle{int s, int h}: side(s),height(h) {}【 12 】 { return side*height/2 ; }private:int side;int height;};

考题 ( 32 )下面是类 Shape 的定义:class Shape{public:virtual void Draw()=0;};下列关于 Shape 类的描述中,正确的是A )类 Shape 是虚基类B )类 Shape 是抽象类C )类 Shape 中的 Draw 函数声明有误D )语句 “ Shape s; ” 能够建立 Shape 的一个对象 s

考题 下面是类Shape的定义: class Shape{ public: virtual void Draw()=0; } 下列关于Shape类的描述中,正确的是( )。A.类Shape是虚基类B.类Shape是抽象类C.类Shape中的Draw函数声明有误D.语句“Shape s;”能够建立Shape的一个对象s

考题 若有如下类定义:class Shape {public:virtual void Draw()=0;};则下列关于Shape类的叙述中,正确的是( )。 A. 类Shape是虚基类B.类Shape是抽象类C.类Shape中的Draw函数声明有误D.“Shape s;”能建立Shape的对象s

考题 从下列2道试题(试题五至试题六)中任选 1道解答。如果解答的试题数超过1道,则题号小的1道解答有效。试题五(共15分)阅读以下说明、图和C++代码,填补C++代码中的空缺(1)~(5),将解答写在答题纸的对应栏内。【说明】已知对某几何图形绘制工具进行类建模的结果如图5.1所示,其中Shape为抽象类(应至少包含一个纯虚拟( virtual)函数),表示通用图形,Box表示矩形,Ellipse表示椭圆,Circle表示圆(即特殊的椭圆),Line表示线条。下面的C++代码用于实现图5-1所给出的设计思路,将其空缺处填充完整并编译运行,输出结果为:EllipseCircleEllipseCE【C++代码】include stringinclude iostreamusing namespace std;class Shape{public:Shape(const string name){m_name= name;}~Shape(){}(1) void paint() = 0;stringgetName()const {retumm name;}Private:string m_name;};//Box和 Line类的定义与 Ellipse类似,其代码略classEllipse (2) {public:Ellipse(const string name) : Shape(name){ cout"Ellipse" endl; }Voidpaint() { coutgetName()endl;}};classCircle (3) {public:Circle(const string name) : Ellipse(name){ cout"Circl"endl; }};class Diagram {public:void drawAShap(Shape* shape){ shape-paint(); }void drawShapes() {shapes[0] = new Circle("C");shapes[l] = new Ellipse("E");for (int i=O;i2; ++1) {drawAShap(shapes[i]);}}void close (){ /*删除形状,代码略 */ }private:Shape* shapes[2];};int main( ){Diagram* diagram = (4)diagram-drawShapes();diagram-close ();(5) diagram;}

考题 阅读下列说明和C++代码,填写程序中的空(1)~(6),将解答写入答题纸的对应栏内。 【说明】以下C++代码实现一个简单绘图工具,绘制不同形状以及不同颜色的图形。部分类及其关系如图6-1所示。 【C++代码】#include #include 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 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;}

考题 有基类SHAPE,派生类CIRCLE,声明如下变量: SHAPE shape1,*p1; CIRCLE circle1,*q1; 下列哪些项是“派生类对象替换基类对象”。A.p1=circle1;B.q1=shape1;C.shape1=circle1;D.circle1=shape1;

考题 假设Shape为抽象类,则下面哪种用法是错误的()A.Shape *s;B.void function(Shape *s);C.void function(Shape s);D.Shape s;

考题 39、下面是类Shape的定义:class Shape {public: virtual void Draw()=0; }; 下列关于Shape类的描述中,正确的是()。A.类Shape是虚基类B.类Shape是抽象类C.类Shape中的Draw函数声明有误D.语句“Shape s;”能够建立Shape的一个对象s