几何三重奏
请修改编辑器中的代码,完成以下功能:程序中定义了三个类:坐标点类 Point、圆形类 Circle 和圆柱体类 Cylinder。Point 类用于表示二维平面上的点,并提供计算两点间距离的功能;Circle 类表示圆形,包含计算圆的周长和面积的方法;Cylinder 类表示圆柱体,包含计算圆柱体表面积和体积的方法。请在代码中的横线处补充完整逻辑,确保程序能够正确计算圆柱体的表面积和体积。 本程序不需要输入,直接运行后输出结果。 输出示例: 表面积:408.407 体 积:628.319
#include<iostream>
#include<cmath>
using namespace std;
class Point{ //坐标点类
public:
const double x,y;
Point(double x=0.0, double y=0.0): x(x),y(y){}
double distanceTo(Point p)const{ //到指定点的距离
//**********found**********
return sqrt((x-p.x)*(x-p.x)+______________);
}
};
const double PI=3.1415926535; //圆周率
class Circle{ //圆类
Point centre; //圆心
double radius; //半径
public:
Circle(Point c, double r): centre(c), radius(r){}
double perimeter(){ //圆的周长
return 2*PI*radius;
}
double area(){ //圆的面积
//**********found**********
____________________________;
}
};
class Cylinder{ //圆柱体
Circle bottom; //圆柱体圆形底部
double height; //圆柱体高
public:
Cylinder(Circle b, double h): bottom(b), height(h){}
double area(){ //圆柱体表面积
//**********found**********
return bottom.area()*2+_______________________________;
}
double volume(){ //圆柱体体积
//**********found**********
__________________________________;
}
};
int main(){
Cylinder cy(Circle(Point(2.0, 3.0), 5.0), 8.0);
cout<<"表面积:"<<cy.area()<<endl;
cout<<"体 积:"<<cy.volume()<<endl;
return 0;
}
控制台
调试终端
