【问题描述】定义一个圆形类,属性有半径和相应的成员函数。然后定义一个正方形类,属性有边长和相应的成员函数。再编写一个如下图所示的组合类,由一个正方型和一个圆形组成,要求该组合类能求出阴影部分面积和周长。
【输入形式】无
【输出形式】
自定义图形的面积49.2656 自定义图形的周长29.1328 自定义图形的面积109.098 自定义图形的周长45.6992二、代码实现
#includeusing 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<<"自定义图形的面积"<



