瓶盖547 2022-03-21 21:31 采纳率: 100%
浏览 230
已结题

C++中 定义一个圆类Circle

img

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

  • 写回答

2条回答 默认 最新

  • _GX_ 2022-03-21 22:20
    关注
    #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;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 3月30日
  • 已采纳回答 3月22日
  • 创建了问题 3月21日

悬赏问题

  • ¥15 表达式必须是可修改的左值
  • ¥15 如何绘制动力学系统的相图
  • ¥15 对接wps接口实现获取元数据
  • ¥20 给自己本科IT专业毕业的妹m找个实习工作
  • ¥15 用友U8:向一个无法连接的网络尝试了一个套接字操作,如何解决?
  • ¥30 我的代码按理说完成了模型的搭建、训练、验证测试等工作(标签-网络|关键词-变化检测)
  • ¥50 mac mini外接显示器 画质字体模糊
  • ¥15 TLS1.2协议通信解密
  • ¥40 图书信息管理系统程序编写
  • ¥20 Qcustomplot缩小曲线形状问题