继承,虚拟函数

#include
using namespace std;
class shape{
protected:
    int x,y;
    shape(int x = 0,int y = 0):x(x),y(y){}
    virtual ~shape(){}
    virtual double GetArea() = 0;// 纯虚函数,用于计算面积
};
class Rectangle : public shape{
protected:
    int Length,Width;
public:
    Rectangle(int Length,int Width):Length(Length),Width(Width){}
    double GetArea() override{//表示该函数是重写基类的虚函数
        return Length*Width;
    }
};

class Circle : public shape{
protected:
    int radius;
public:
    Circle(int radius):radius(radius){}
    double GetArea() override{
        return 3.14*radius*radius;
    }
};

class Square : public Rectangle{
public:
    Square(int side) : Rectangle(side,side){}
};
int main(){
    int Length,Width,radius,side;
cin>>Length>>Width;
    Rectangle a(Length,Width);
    cout<
cin>>radius;
    Circle b(radius);
    cout<
cin>>side;
    Square c(side);
    cout<    return 0;
}
全部评论

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务