c++建立一个Point(点)类,包含数据成员x,y(坐标点)。
建立一个Point(点)类,包含数据成员x,y(坐标点)。以Point类为对象成员,定义线段类(Distance)描述两点之间的距离,以线段类为基类派生出一个Circle...
建立一个Point(点)类,包含数据成员x,y(坐标点)。以Point类为对象成员,定义线段类(Distance)描述两点之间的距离,以线段类为基类派生出一个Circle(圆)类,增加数据成员r(半径),派生出一个Square(正方形)类,增加数据成员a(边长),再以Circle类和Square类为基类,派生出一个Cylinder(圆柱体)类。编写程序,分别求圆的周长和面积,正方形的周长和面积及圆柱体的表面积。
展开
1个回答
展开全部
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更好吧?
随便写写,不要在意细节
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询