用C++写一个程序,输入矩形的长和宽,使用一个函数计算矩形的面积和周长,最后输出计算结果。要求使用引用类型形式参数(面积和周长)和缺省参数(长和宽,默认求取单位正方形)。在此基础上实现函数的重载,使其分别可以处理整数型和浮点型的长和宽对应的矩形
时间: 2024-09-08 09:01:06 浏览: 107
在C++中,你可以按照以下步骤编写这个程序:
```cpp
#include <iostream>
// 函数模板,用于计算矩形的面积和周长,接受引用参数并有默认值
template <typename T>
void calculateRectangle(T& length = 1, T& width = 1, T& area, T& perimeter) {
area = length * width;
perimeter = 2 * (length + width);
std::cout << "面积: " << area << ", 周长: " << perimeter << std::endl;
}
// 实现函数重载,分别处理整数和浮点类型的长和宽
void calculateRectangle(int length, int width, int& area, int& perimeter) {
area = length * width;
perimeter = 2 * (length + width);
std::cout << "面积: " << area << ", 周长: " << perimeter << std::endl;
}
void calculateRectangle(double length, double width, double& area, double& perimeter) {
area = length * width;
perimeter = 2 * (length + width);
std::cout << "面积: " << area << ", 周长: " << perimeter << std::endl;
}
int main() {
// 测试整数型长和宽
int intLength, intWidth;
calculateRectangle(intLength, intWidth); // 默认值为1
// 测试浮点型长和宽
double floatLength, floatWidth;
calculateRectangle(floatLength, floatWidth);
return 0;
}
```
在这个程序中,`calculateRectangle`函数是一个模板函数,可以根据传入的参数类型自动调整计算。当传递整数或浮点数时,会调用相应的重载版本。
阅读全文