C++试用纯虚函数和抽象类编程设计几个图形,有长方形,三角形,圆等,这几个图形均有显示,移动,复制等功能

如题
2025-04-04 04:48:01
推荐回答(2个)
回答1:

class CShape
{
    public:
        virtual void Display() = 0; // 纯虚函数,该类不能实例化
        virtual void Move(int xOffset, int yOffset) = 0;// 纯虚函数,该类不能实例化
        virtual void Copy(CShape* pShape) = 0;// 纯虚函数,该类不能实例化
};

class CRectangle:public CShape
{
    public:
        CRectangle(int x, int y, int width, int height);
        ~CRectangle();
    public:
        virtual void Display();
        virtual void Move(int xOffset, int yOffset);
        virtual void Copy(CShape* pShape);
    private:
        int m_x;    //起始坐标X
        int m_y;    //起始坐标Y
        int m_width;//宽度
        int m_height;//高度
};

class CTriangle:public CShape
{
    public:
        CTriangle(int x1,int y1,int x2,int y2,int x3,int y3);
        ~CTriangle();
    public:
        virtual void Display();
        virtual void Move(int xOffset, int yOffset);
        virtual void Copy(CShape* pShape);
    private:
        int m_x1, m_y1; // 三角形坐标点1
        int m_x2, m_y2; // 三角形坐标点2
        int m_x3, m_y3; // 三角形坐标点3
};

class CCircle:public CObject
{
     public:
        CCircle(int x, int y, int radius);
        ~CCircle();
    public:
        virtual void Display();
        virtual void Move(int xOffset, int yOffset);
        virtual void Copy(CShape* pShape);
    private:
        int x; // 中心点坐标x
        int y; // 中心点坐标y
        int radius; // 圆半径
};

回答2:

不会这种程序啊