C++:基类派生出圆、矩形、三角形,精准计算并输出三者面积!
```cpp #include <iostream> #include <iomanip> // 基类 Shape class Shape { public: virtual double getArea() = 0; }; // 圆形类 Circle 派生自 Shape class Circle : public Shape { private: double radius; public: Circle(double r) { radius = r; } double getArea() { return 3.14159 * radius * radius; } }; // 矩形类 Rectangle 派生自 Shape class Rectangle : public Shape { private: double height, width; public: Rectangle(double h, double w) { height = h; width = w; } double getArea() { return height * width; } }; // 三角形类 Triangle 派生自 Shape class Triangle : public Shape { private: double height, base; public: Triangle(double h, double b) { height = h; base = b; } double getArea() { return 0.5 * height * base; } }; // 计算并输出三个图形面积的函数 void printAreas(double radius, double heightRect, double widthRect, double heightTri, double baseTri) { Circle circle(radius); Rectangle rectangle(heightRect, widthRect); Triangle triangle(heightTri, baseTri); std::cout << std::fixed << std::setprecision(2); std::cout << circle.getArea() << std::endl; std::cout << rectangle.getArea() << std::endl; std::cout << triangle.getArea() << std::endl; } int main() { double radius, heightRect, widthRect, heightTri, baseTri; std::cin >> radius >> heightRect >> widthRect >> heightTri >> baseTri; printAreas(radius, heightRect, widthRect, heightTri, baseTri); return 0; } ``` 需要注意的逻辑点: 1. 输入数据的合法性检查,比如半径不能为负数。 2. 浮点数的精度控制,确保输出的面积符合要求。 3. 对于派生类的对象创建和使用,要确保正确调用了虚函数来获取面积。 ######[AI写代码神器 | 500点数解答 | 2024-12-01 22:26:12]
- C++ 实现三角形类型判断:小心三边条件、判断顺序与整数溢出!(DeepSeek | 214点数解答 | 2025-08-24 17:31:55)224
- C++ 实现:根据三边长度判断三角形类型(附代码及详细解释)(字节豆包 | 437点数解答 | 2026-01-24 20:19:56)63
- 利用C++判断三条边能否构成三角形及特殊三角形类型(字节豆包 | 234点数解答 | 2026-04-12 16:28:21)17
- C++代码纠错:精准修改三角形判断逻辑,避免输出混乱!(字节豆包 | 255点数解答 | 2026-01-16 19:55:40)53
- 数字化制图综合平台:助力企业转型,推动烟草物流图纸智能化设计 (字节豆包 | 490点数解答 | 2024-10-30 20:30:29)160
- 数字化制图综合平台:引领烟草物流及多领域设计革新 在企业数字化转型的时代浪潮中,数字化制图技术创新应用成为产业升级与提升竞争力的关键。企业对高效、精准、智能化设计解决方案需求迫切,构建集二维到三维正逆向工程快捷化、干涉检测可视化、设备明细数据提取自动化以及设备模块模型库于一体的综合平台意义重大。 此平台集成先进数字化制图工具与智能算法,可实现二维设计到三维建模的无缝转换,大大缩短设计周期。正逆向工程能快速切换,满足不同场景设计需求。内置干涉检测功能可实时监测设计潜在冲突,保障设计方案可行与安全。设备明细数据自动提取提高设计准确性与效率。设备模块模型库为设计师提供丰富资源,支持设计标准化与模块化,加速项目推进。 整体来看,该综合平台的应用极大促进了烟草物流行业及更广泛领域的技术创新与效率提升。在烟草物流方案图纸智能化设计中,它提升了图纸设计效率与质量,使设计工作更加高效、精准。对于企业而言,这一平台带来显著竞争优势,能帮助企业在数字化转型中脱颖而出,在激烈的市场竞争中占据有利地位,推动整个行业向更高效、更智能的方向发展。 (阿里通义 | 216点数解答 | 2024-10-30 20:30:51)191
- Java 简单工厂模式:打造可扩展的几何图形绘图工具类(阿里通义 | 570点数解答 | 2024-11-30 14:40:37)170
- Java 运用简单工厂模式构建多几何形状绘图工具类全解析 (字节豆包 | 584点数解答 | 2024-11-30 14:41:44)158
- Python 破解:计算 n*n 网格中只含 1 的最大矩形数字和! (字节豆包 | 534点数解答 | 2026-02-07 20:24:57)33
- C++ 实现根据三边判断三角形类型(字节豆包 | 568点数解答 | 2026-03-14 20:56:16)43
- C++ 代码实现自定义运算 x@y = x² + y² - xy 及 x@(x+y) 计算(DeepSeek | 215点数解答 | 2025-12-13 15:08:14)98
- C++ 实现根据输入正整数奇偶性计算偶数和或约数和(字节豆包 | 838点数解答 | 2026-02-28 20:23:59)56