在线等:C++编程问题求教,谢谢

题目:定义一个圆形类,属性有半径和相应的成员函数。然后定义一个正方形类,属性有边长和相应的成员函数。再编写一个如下图所示的组合类,由一个正方型和一个圆形组成,要求该组合类... 题目:定义一个圆形类,属性有半径和相应的成员函数。
然后定义一个正方形类,属性有边长和相应的成员函数。
再编写一个如下图所示的组合类,由一个正方型和一个圆形组成,
要求该组合类能求出阴影部分面积和周长。通过主函数测试该类。
#include <iostream>
#include <cmath>
using namespace std;
const double PI=3.1416;
/**********Program**********/
/********** End **********/

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;
}
展开
 我来答
汐日南莘
2013-05-16 · TA获得超过1.4万个赞
知道大有可为答主
回答量:1.6万
采纳率:45%
帮助的人:7296万
展开全部

#include <iostream>

#include <cmath>

using namespace std;

const double  PI=3.1416;

/**********Program**********/

class Circle

{

private:

double radius;

public:

double area();

double circumference();

void Set(double r1);

Circle(double r=0):radius(r){}

};

double Circle::circumference()

{

return 2*PI*radius;

}

void Circle::Set(double r1)

{

radius=r1;

}

double Circle::area()

{

return PI*radius*radius;

}

class Box

{

private :

double length;

public:

void Set(double l1);

Box(double l=0):length(l){}

double area();

double circumference();

};

double Box::circumference()

{

return 4*length;

}

void Box::Set(double l1)

{

length=l1;

}

double Box::area()

{

return length*length;

}

class NewStyle

{


public:

Circle a;

    Box b;

NewStyle(Circle a1,Box b1);

double S();

double L();

void Set(Circle a2,Box b2);

};

NewStyle::NewStyle(Circle a1,Box b1)

{

a=a1;

b=b1;

}

void NewStyle::Set(Circle a2,Box b2)

{

a=a2;

b=b2;

}

double NewStyle::S()

{

return a.area()-b.area();

}

double NewStyle::L()

{

return a.circumference()+b.circumference();

}

/**********  End  **********/


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;

}

不好意识  让你久等了  主要是我犯了个小错误   找了很久才发现  就是哪个构造函数的问题

不过分有点少。。。  

但我自己也是第一次做这种题目   不知道这结果你满不满意?

b9ss
2013-05-16 · TA获得超过230个赞
知道答主
回答量:37
采纳率:0%
帮助的人:20.4万
展开全部
写个算圆形面积的方法扔猿类里,再来一个算正方形的扔正方形类里。 NewStyle类里再写个方法减一减,就可以交作业了。
追问
能给个代码么
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
video0000
2013-05-16 · TA获得超过349个赞
知道小有建树答主
回答量:445
采纳率:100%
帮助的人:249万
展开全部
那么图呢?
追问
已附图
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式