0
点赞
收藏
分享

微信扫一扫

C++作业 8 - 6

沈芏 2022-05-01 阅读 63
c++
#include<bits/stdc++.h>
using namespace std;
const int PI = 3.14159;

class Shape
{
    public:
    Shape(){}
    virtual double getArea(){}
    virtual double getPerim(){}
};

class Rectangle : public Shape
{
    private:
        double Wide, Long;
        
    public:
    Rectangle(){Wide = 0, Long = 0;}
    Rectangle(double l, double w) : Wide(w), Long(l) {}
    
    double getPerim()
    {
        return (Wide + Long) * 2;
    }
    
    double getArea()
    {
        return Wide * Long;
    }
};

class Circle : public Shape
{
    private:
        double R;
        
    public:
    Circle(){R = 0;}
    Circle(double r) : R(r) {}
    
    double getPerim()
    {
        return R * 2;
    }
    
    double getArea()
    {
        return pow(R, 2) * PI;
    }
};

int main()
{
    Rectangle r(2.33, 2.33);
    cout << r.getPerim() << " " << r.getArea() << endl;
    
    Circle c(2.33);
    cout << c.getPerim() << " " << c.getArea() << endl;
    return 0;
}

应用vritual写虚函数时,要注意基类的虚函数要定义,不能只是声明。

举报

相关推荐

C++作业5

9.14 C++作业

2024.3.11 C++作业

11.29 C++ 作业

c++课程作业

12.11 C++ 作业

c++课后作业

0 条评论