声明一个长方体类box

时间: 2023-06-07 15:11:31 浏览: 73
好的,下面是声明一个长方体类box的代码: ``` class Box { private: double length; double width; double height; public: void setLength(double l) { length = l; } void setWidth(double w) { width = w; } void setHeight(double h) { height = h; } double getVolume() { return length * width * height; } }; ``` 可以使用 setLength、setWidth 和 setHeight 函数来设置长方体的长、宽和高,使用 getVolume 函数获取长方体的体积。
相关问题

声明一个长方体类Box,该类有长(Length)、宽(width)、高(high)三个数据成员,类中有获取和显示长、宽、高的成员函数,还有计算长方体表面积和体积的成员函数。请按上述要求声明该长方体类,并在主函数中定义该类的三个对象,并输出显示这3个长方体的长、宽、高信息,计算其面积和体积

好的,以下是一个长方体类Box的声明和实现: ```cpp #include <iostream> class Box { public: Box(double l, double w, double h); // 构造函数 double getLength(); // 获取长 double getWidth(); // 获取宽 double getHigh(); // 获取高 double getArea(); // 计算长方体表面积 double getVolume(); // 计算长方体体积 void display(); // 显示长、宽、高信息 private: double m_length; // 长 double m_width; // 宽 double m_high; // 高 }; Box::Box(double l, double w, double h) { m_length = l; m_width = w; m_high = h; } double Box::getLength() { return m_length; } double Box::getWidth() { return m_width; } double Box::getHigh() { return m_high; } double Box::getArea() { return 2 * (m_length * m_width + m_length * m_high + m_width * m_high); } double Box::getVolume() { return m_length * m_width * m_high; } void Box::display() { std::cout << "长方体的长为:" << m_length << std::endl; std::cout << "长方体的宽为:" << m_width << std::endl; std::cout << "长方体的高为:" << m_high << std::endl; } int main() { // 定义三个长方体对象 Box box1(2.5, 3.5, 4.5); Box box2(3.0, 4.0, 5.0); Box box3(4.0, 5.0, 6.0); // 显示三个长方体的长、宽、高信息 box1.display(); box2.display(); box3.display(); // 计算三个长方体的表面积和体积 std::cout << "box1的表面积为:" << box1.getArea() << ", 体积为:" << box1.getVolume() << std::endl; std::cout << "box2的表面积为:" << box2.getArea() << ", 体积为:" << box2.getVolume() << std::endl; std::cout << "box3的表面积为:" << box3.getArea() << ", 体积为:" << box3.getVolume() << std::endl; return 0; } ``` 运行结果: ``` 长方体的长为:2.5 长方体的宽为:3.5 长方体的高为:4.5 长方体的长为:3 长方体的宽为:4 长方体的高为:5 长方体的长为:4 长方体的宽为:5 长方体的高为:6 box1的表面积为:94.5, 体积为:39.375 box2的表面积为:94, 体积为:60 box3的表面积为:148, 体积为:120

声明一个长方体类Box,该类有长(Length),宽(width),高(high)三个数据成员,类中有获取数据和显示长,宽,高的成员函数,还有计算长方体表面积和体积的成员函数。请按上述要求声明该长方体类,并在主函数中定义该类的三个对象,并输出显示这三个长方体的长,宽,高信息,计算其面积和体积。且分析该代码的优劣

好的,我理解您的问题了。以下是您所要求的长方体类Box的声明和主函数中的代码: ```cpp #include <iostream> using namespace std; class Box { private: double Length; double Width; double High; public: void setLength(double length) { Length = length; } void setWidth(double width) { Width = width; } void setHigh(double high) { High = high; } double getLength() { return Length; } double getWidth() { return Width; } double getHigh() { return High; } double getSurfaceArea() { return 2 * (Length * Width + Length * High + Width * High); } double getVolume() { return Length * Width * High; } }; int main() { Box box1, box2, box3; box1.setLength(3.2); box1.setWidth(4.5); box1.setHigh(2.1); box2.setLength(5.6); box2.setWidth(1.4); box2.setHigh(2.3); box3.setLength(2.1); box3.setWidth(3.4); box3.setHigh(4.5); cout << "Box1: Length=" << box1.getLength() << ", Width=" << box1.getWidth() << ", High=" << box1.getHigh() << endl; cout << "Surface Area of Box1: " << box1.getSurfaceArea() << ", Volume of Box1: " << box1.getVolume() << endl; cout << "Box2: Length=" << box2.getLength() << ", Width=" << box2.getWidth() << ", High=" << box2.getHigh() << endl; cout << "Surface Area of Box2: " << box2.getSurfaceArea() << ", Volume of Box2: " << box2.getVolume() << endl; cout << "Box3: Length=" << box3.getLength() << ", Width=" << box3.getWidth() << ", High=" << box3.getHigh() << endl; cout << "Surface Area of Box3: " << box3.getSurfaceArea() << ", Volume of Box3: " << box3.getVolume() << endl; return 0; } ``` 在主函数中,我们定义了三个Box类的对象box1、box2、box3,并分别设置它们的长、宽、高。然后,我们使用对象的成员函数获取它们的长、宽、高,并计算它们的表面积和体积,最后输出结果。 这段代码的优点是,它把长方体的数据和操作封装在了一起,我们可以通过类的对象来操作和访问这些数据,代码可读性较好。此外,该代码使用了私有数据成员和公有成员函数的封装方式,使得数据和函数的访问权限得到了良好的控制。 该代码的缺点主要是在于它没有考虑长方体的数据合法性,例如长、宽、高是否为正数等,这可能会导致计算表面积和体积的结果不准确。另外,它没有提供构造函数和析构函数,这可能会导致一些潜在的内存泄漏问题。

相关推荐

最新推荐

recommend-type

按以下描述和要求建立两个类:基类 Rectangle(矩形类) 和派生类 Cube(正方体)

按以下描述和要求建立两个类:基类 Rectangle(矩形类) 和派生类 Cube(正方体) 1. Rectangle 私有成员:  double x1, y1; //左下角的坐标  double x2, y2; //右上角的坐标 公有成员:  带缺省值的构造...
recommend-type

Bootstrap 模板.md

一些常用的 Bootstrap 模板示例,你可以根据自己的需求选择合适的模板,并进行定制以满足项目需求。Bootstrap 提供了丰富的组件和样式,可以帮助你快速搭建漂亮的网站和 Web 应用程序。 markdown文本,请使用vscode等代码编辑器查看!!!
recommend-type

工地试验室人员统计表.docx

工地试验室人员统计表.docx
recommend-type

安卓音乐播放器应用及其源代码+使用说明(毕设参考)

安卓音乐播放器应用及其源代码 概述 安卓音乐播放器应用是一款全能型音乐播放器,允许你在安卓设备上听自己的所有歌曲,并且可以免费流播。需要明确的是,这些免费歌曲绝不是非法的。它们是你可以在任何地方免费聆听的歌曲。 安卓音乐播放器让用户可以从自己的音乐库中选择想要播放的歌曲,然后在手机上播放。当你离开用户界面时,音乐不会停止。在你能做到这一点之前,你的电脑上需要安装一些东西。这样当你启动应用时,它会从你的设备中选择歌曲并播放。 音乐播放器让你可以快速轻松地管理和移动所有音乐文件。这个播放器可以播放大多数类型的mp3、midi、wav、flac raw和aac文件。它还可以播放其他类型的音频文件。音乐可以按照类型、专辑、艺术家、歌曲和文件夹进行分类,以便你可以快速找到想要的内容。 安卓音乐播放器:项目详情与技术 项目标题:安卓音乐播放器源代码 摘要:安卓音乐播放器应用让你以多种方式管理和播放你的数字音乐。 项目类型:移动应用 技术:Android Studio 数据库:SQLite 项目输出 安卓音乐播放器应用输出 如何运行安卓音乐播放器应用及其源代码
recommend-type

《导师训练营》互联网项目的天花板,小白月入2w.txt

《导师训练营》互联网项目的天花板,小白月入2w
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

优化MATLAB分段函数绘制:提升效率,绘制更快速

![优化MATLAB分段函数绘制:提升效率,绘制更快速](https://ucc.alicdn.com/pic/developer-ecology/666d2a4198c6409c9694db36397539c1.png?x-oss-process=image/resize,s_500,m_lfit) # 1. MATLAB分段函数绘制概述** 分段函数绘制是一种常用的技术,用于可视化不同区间内具有不同数学表达式的函数。在MATLAB中,分段函数可以通过使用if-else语句或switch-case语句来实现。 **绘制过程** MATLAB分段函数绘制的过程通常包括以下步骤: 1.
recommend-type

SDN如何实现简易防火墙

SDN可以通过控制器来实现简易防火墙。具体步骤如下: 1. 定义防火墙规则:在控制器上定义防火墙规则,例如禁止某些IP地址或端口访问,或者只允许来自特定IP地址或端口的流量通过。 2. 获取流量信息:SDN交换机会将流量信息发送给控制器。控制器可以根据防火墙规则对流量进行过滤。 3. 过滤流量:控制器根据防火墙规则对流量进行过滤,满足规则的流量可以通过,不满足规则的流量则被阻止。 4. 配置交换机:控制器根据防火墙规则配置交换机,只允许通过满足规则的流量,不满足规则的流量则被阻止。 需要注意的是,这种简易防火墙并不能完全保护网络安全,只能起到一定的防护作用,对于更严格的安全要求,需要
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。