C++小作业-计算由圆和正方形构成的阴影部分的面积(组合类)

C++小作业-计算由圆和正方形构成的阴影部分的面积(组合类),第1张

一、问题描述

【问题描述】定义一个圆形类,属性有半径和相应的成员函数。然后定义一个正方形类,属性有边长和相应的成员函数。再编写一个如下图所示的组合类,由一个正方型和一个圆形组成,要求该组合类能求出阴影部分面积和周长。

【输入形式】无
【输出形式】

自定义图形的面积49.2656

自定义图形的周长29.1328

自定义图形的面积109.098

自定义图形的周长45.6992
二、代码实现
#include
using namespace std;  

const double  PI=3.1416;

class  Box//正方形类  
{
    private:
        int x;
    public:
        Box(){}
        Box(int x)
        {
            this->x=x;
        }
        void set(int n)
        {
            x=n;
        }
        double S()
        {
            return x*x;
        }
        double L()
        {
            return 4*x;
        }
};
class circle
{
    private:
        int r;
    public:
        circle(){}
        circle(int r)
        {
            this->r=r;
        }
        void set(int n)
        {
            r=n;
        }
        double S()
        {
            return PI*r*r;
        }
        double L()
        {
            return 2*PI*r;
        }
};
class NewStyle
{
    private:
        Box b;//会用到默认无参构造函数
        circle c;
    public:
        NewStyle(circle C,Box B)
        {
            b=B,c=C;
        }
        void set(circle C,Box B)
        {
            c=C,b=B;
        }
        double S()
        {
            return c.S()-b.S();
            
        }
        double L()
        {
            return c.L()+b.L();
        }
};
int  main()
{
        circle  A(4);    //圆的半径为4
        Box  B(1);      //正方形的边长为1
        NewStyle  C(A,B);    
        cout<<"自定义图形的面积"<<C.S()<<endl;  
        cout<<"自定义图形的周长"<<C.L()<<endl;  
        A.set(6);      //圆的半径变为6
        B.set(2);      //正方形的边长变为2
        C.set(A,B);
        cout<<"自定义图形的面积"<<C.S()<<endl;  
        cout<<"自定义图形的周长"<<C.L()<<endl;  
        return  0;
}    

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/733514.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-04-27
下一篇2022-04-27

发表评论

登录后才能评论

评论列表(0条)

    保存