定义描述圆的类Circle, 其数据成员为圆心坐标(X,Y)与半径R。再定义一个描述圆柱体的类Cylinder, 其私有数据成员为圆柱体的高H。

简介: 定义描述圆的类Circle, 其数据成员为圆心坐标(X,Y)与半径R。再定义一个描述圆柱体的类Cylinder, 其私有数据成员为圆柱体的高H。

题目描述

定义描述圆的类Circle, 其数据成员为圆心坐标(X,Y)与半径R。再定义一个描述圆柱体的类Cylinder, 其私有数据成员为圆柱体的高H。

定义计算圆柱体体积的成员函数Volume(), 并将Volume()定义为圆类Circle的友元函数,该函数使用圆类对象的半径R来计算圆柱体的体积。

在主函数中定义圆的对象ci, 圆心坐标为(12,15), 半径为10。再定义圆柱体对象cy, 其底面半径与圆半径相同, 高为10。调用Volume()函数计算圆柱体的体积,并显示体积值。

案例代码

#include <iostream>
using namespace std;
class Circle;  // 前向声明
class Cylinder {
   
private:
    double H;  // 圆柱体的高
public:
    Cylinder(double h) : H(h) {
   }
    friend double Volume(const Circle& c, const Cylinder& cy);
};
class Circle {
   
private:
    double X;  // 圆心横坐标
    double Y;  // 圆心纵坐标
    double R;  // 圆半径
public:
    Circle(double x, double y, double r) : X(x), Y(y), R(r) {
   }
    friend double Volume(const Circle& c, const Cylinder& cy);
};
double Volume(const Circle& c, const Cylinder& cy) {
   
    return 3.14159 * c.R * c.R * cy.H;  // 计算圆柱体的体积
}
int main() {
   
    Circle ci(12, 15, 10);  // 创建圆对象
    Cylinder cy(10);  // 创建圆柱体对象
    double volume = Volume(ci, cy);  // 调用Volume()函数计算体积
    cout << "圆柱体的体积为:" << volume << endl;
    return 0;
}
相关文章
|
C++
C++练习:设计一个圆形类(Circle),和一个点类(Point),计算点和圆的关系。 顺便熟悉一下分文件编写
C++练习:设计一个圆形类(Circle),和一个点类(Point),计算点和圆的关系。 顺便熟悉一下分文件编写
120 0
|
Android开发 索引 容器
【Android 应用开发】Android 组件 位置坐标 属性 ( 组件位置属性 | 父容器坐标系坐标 | 窗口坐标系坐标 | 屏幕坐标系坐标 | 触摸坐标 )
【Android 应用开发】Android 组件 位置坐标 属性 ( 组件位置属性 | 父容器坐标系坐标 | 窗口坐标系坐标 | 屏幕坐标系坐标 | 触摸坐标 )
336 0
|
定位技术
百度地图开发:批量增加折线、多边形覆盖物的封装函数
百度地图开发:批量增加折线、多边形覆盖物的封装函数
109 0
|
9月前
|
安全 Java 数据库连接
【Java每日一题】——第三十六题:设计一个长方形类Rectangle和它的3个子类:圆类Circle、圆球体类Sphere和圆柱体类Cylinder,分别求它们的面积
【Java每日一题】——第三十六题:设计一个长方形类Rectangle和它的3个子类:圆类Circle、圆球体类Sphere和圆柱体类Cylinder,分别求它们的面积
|
9月前
实训一:构建圆和矩形对象
实训一:构建圆和矩形对象
定义一个类Rectangle,描述一个矩形,包含有长、宽两种属性(用length和width表示)和计算面积的方法(方面名定义为area)。
定义一个类Rectangle,描述一个矩形,包含有长、宽两种属性(用length和width表示)和计算面积的方法(方面名定义为area)。
863 0
先创建一个Point类,然后定义Triangle类。在Triangle类中定义三个Point的实体来表示一个三角形的三个顶点
先创建一个Point类,然后定义Triangle类。在Triangle类中定义三个Point的实体来表示一个三角形的三个顶点
265 0
使用边界跟踪方法标识图像中的圆形目标
使用边界跟踪方法,根据对象的圆度对其进行分类。
107 0
设计一个长方形类,成员变量包括长度和宽度,成员函数除包括计算周长和计算面积外,还包括用 Set 方法设置长和宽,以及用 get 方法来获取长
设计一个长方形类,成员变量包括长度和宽度,成员函数除包括计算周长和计算面积外,还包括用 Set 方法设置长和宽,以及用 get 方法来获取长
218 0
MFC绘制二维图形【1】—— 使用映射模式函数自定义坐标系
MFC绘制二维图形【1】—— 使用映射模式函数自定义坐标系
424 0
MFC绘制二维图形【1】—— 使用映射模式函数自定义坐标系