C++中 定义一个圆类Circle

img

救命啊 真的不会写啊 写也写不对 啊啊 真不会 谢谢你们 都是牛掰人物 真不会啊

#include <iostream>

using namespace std;

class Circle
{
public:
    static const double PI;

    Circle(double radius = 0.0) : _radius(radius)
    {
        cout << "Constructor run\n";
    }

    Circle(const Circle &other) : _radius(other._radius)
    {
        cout << "CopyConstructor run\n";
    }

    ~Circle()
    {
        cout << "Destructor run\n";
    }

    double getRadius() const { return _radius; }

    void setRadius(double radius) { _radius = radius; }

    double circumference() const { return 2.0 * PI * _radius; }

    double area() const { return PI * _radius * _radius; }

private:
    double _radius;

    friend double fCircle_L(const Circle &c);
    friend double fCircle_S(const Circle &c);
};

const double Circle::PI = 3.1415;

double fCircle_L(const Circle &c)
{
    return 2.0 * Circle::PI * c._radius;
}

double fCircle_S(const Circle &c)
{
    return Circle::PI * c._radius * c._radius;
}

int main()
{
    double r;
    cin >> r;
    Circle c1;
    c1.setRadius(r);
    cout << c1.circumference() << endl;
    cout << c1.area() << endl;
    Circle c2(c1);
    cout << fCircle_L(c2) << endl;
    cout << fCircle_S(c2) << endl;
    return 0;
}

main函数里说明了这个圆有两个构造函数,两个计算函数和两个友元函数