御龙在天马装怎么合成:哪位高手帮我写这个小程序

来源:百度文库 编辑:中科新闻网 时间:2024/05/07 04:49:53
利用派生关系,实现点、形体、四边形、长方形、菱形、正方形的关系并完成每种具体形体的绘制。
要求:
a) 每个类包含自己的分类名,它们是Point、Shape、Quadrangle、Rectangle、Diamond和Square。
b) 形体一般都有Draw、Move、Hide、Show等方法,当然也具有与操作相联系的属性,如位置、Visibility、Color等。
c) 要清楚各种类之间的关系是包含还是继承,即是part of还是kind of的关系,例如:
i. Normally Shape contains some Points.
ii. Quadrangle is a kind of Shape
iii. Square is Rectangle. It is also a kind of special Diamond.
如果不会使用绘图,那么图形的绘制可以简单地用打印形体的分类名和定点坐标来代替。

class shape
{
Point sp;
Point dp;
public:
virtual void draw()=0;
virtual void move()=0;
virtual void hide()=0;
};

class Point : public shape
{
Point sp;
public:
Point(Point zp=0){sp=zp;}
void SetP(Point zp){sp=zp;}
void draw(){Point(sp.x,sp.y);}
};

class Rectangle : public shape
{
Point lp;
Point bp;
publc:
// ...设置点略
void Move(Point dp);

};