改写以上程序,要求:编写三个内联函数分别完成 1-圆形 2-长方形 3-正方形的求面积操作。
时间: 2024-10-20 10:02:40 浏览: 28
假设您想编写一个简单的二维图形面积计算库,可以使用内联函数(inline function)来提高效率并保持代码简洁。以下是使用C++编写的示例:
```cpp
#include <iostream>
// 定义一个模板内联函数计算基本形状的面积
template <typename T>
T area(T side) {
static_assert(std::is_arithmetic<T>::value, "Side length must be a numeric type");
return side * side; // 正方形面积 = 边长 * 边长
}
// 红色部分为内联函数,用于计算圆形面积
double circle_area(double radius) {
static_assert(radius >= 0, "Radius must be non-negative");
return M_PI * std::pow(radius, 2); // 圆形面积 = π * 半径^2
}
// 长方形的内联函数
double rectangle_area(double width, double height) {
static_assert(width > 0 && height > 0, "Width and height must be positive");
return width * height;
}
int main() {
// 使用内联函数计算面积
double square_side = 5.0;
double circle_radius = 3.0;
double rectangle_width = 4.0;
double rectangle_height = 6.0;
double square_area = area(square_side);
double circle_area_result = circle_area(circle_radius);
double rectangle_area_result = rectangle_area(rectangle_width, rectangle_height);
std::cout << "Square area: " << square_area << "\n";
std::cout << "Circle area: " << circle_area_result << "\n";
std::cout << "Rectangle area: " << rectangle_area_result << "\n";
return 0;
}
```
阅读全文