10.9

一 问题描述

以点类Point及平面图形类Plane为基类公有派生圆类Circle,再以圆类Circle及立体图形类Solid为基类公有派生圆锥类Cone,main(void)函数完成对圆锥类Cone的测试。

二 代码

#include<math.h>
class·Circle:public·Point,public·Plane
{
private:
·const·double·PI=3.14159;
·double·radius;
public:
Circle(double·a=0,·double·b=0,·double·c=0);
Circle(const·Circle·&);
~Circle();
void·setR(double);
double·getR()const;
void·show()const;
double·area()const;
double·length()const;
};
Circle::Circle(double·a,·double·b,·double·c):Point(a,b)
{
radius=c;
cout<<"Circle·Constructor·run"<<endl;
}
Circle::Circle(const·Circle·&c):Point(c)
{
radius=c.radius;
cout<<"Circle·CopyConstructor·run"<<endl;
}
Circle::~Circle()
{
cout<<"Circle·Destructor·run"<<endl;
}
void·Circle::setR(double·a)
{
radius=a;
}
double·Circle::getR()const
{
return·radius;
}
void·Circle::show()const
{
cout<<"Circle(Point(X=";
cout<<getX()<<",Y="<<getY();
cout<<"),Radius="<<radius<<")"<<endl;
}
double·Circle::area()const
{
return·PI*radius*radius;
}
double·Circle::length()const
{
return·2*PI*radius;
}
class·Cone:public·Circle,public·Solid
{
private:
double·height;
public:
Cone(double·a=0,·double·b=0,double·c=0,double·h=0);
Cone(const·Cone·&);
~Cone();
void·setH(double);
}

posted @   混沌武士丞  阅读(6)  评论(0编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示