c++建立一个Point(点)类,包含数据成员x,y(坐标点)。

建立一个Point(点)类,包含数据成员x,y(坐标点)。以Point类为对象成员,定义线段类(Distance)描述两点之间的距离,以线段类为基类派生出一个Circle... 建立一个Point(点)类,包含数据成员x,y(坐标点)。以Point类为对象成员,定义线段类(Distance)描述两点之间的距离,以线段类为基类派生出一个Circle(圆)类,增加数据成员r(半径),派生出一个Square(正方形)类,增加数据成员a(边长),再以Circle类和Square类为基类,派生出一个Cylinder(圆柱体)类。编写程序,分别求圆的周长和面积,正方形的周长和面积及圆柱体的表面积。 展开
 我来答
CHENGWENGJI
推荐于2017-12-15 · TA获得超过412个赞
知道小有建树答主
回答量:667
采纳率:66%
帮助的人:293万
展开全部
class Point {
public:
double x, y;
};

class Distance {
public:
Point a, b;
double dist() {
return sqrt((a.x - b.x)*(a.x - b.x) + (a.y - b.y)*(a.y - b.y));
}
};

class Circle :public Point {
public:
double r;
double area() {
return  acos(-1.0)*r*r;
}
double circumference() {
return 2 * acos(-1.0)*r;
}
};

class Square :public Point {
public:
double a;
double area() {
return a*a;
}
double circumference() {
return 4 * a;
}
};

class Cylinder :public Circle, public Square {
public:
double surface() {
return 2 * Circle::area() + Square::area();
}
};

不知道为什么要用线段类来派生Circle和Square,我觉得用Point更好吧?

随便写写,不要在意细节

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式