作业帮 > 综合 > 作业

声明一个形状(Shape)基类,具有size、position、color等成员变量,move、draw等成员函数,由此

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/11 00:11:35
声明一个形状(Shape)基类,具有size、position、color等成员变量,move、draw等成员函数,由此派生出(Rectangle)类、三角形(Triangle)类和圆(Circle)类,将其中move、draw等成员函数声明为虚函数;
在主函数中用抽象基类指针调用move、draw;
#include
using namespace std;
class Shape
{
public:
int size;
int position;
char color;
Shape(int shapeSize = 1,int shapePosition = 0,char shapeColor = '*') {
size = shapeSize;
position = shapePosition;
color = shapeColor;
}
virtual void move(int x){};
virtual void draw(){};
};
class Rectangle:public Shape
{
public:
Rectangle(int shapeSize = 1,int shapePosition = 0,char shapeColor = '-'):
Shape(shapeSize,shapePosition,shapeColor) {}
void move(int x) { position = 2*x; }
void draw(){
int i;
for(i = 0; i < position; i++) cout
再问: 运行出的结果好奇怪呀,,,
再答: 你可以自己改Draw函数。这里简化了,矩形画一条线,三角画三段线,圆形画成点线。 或者Draw函数改成cout