实现area的重载,实现任意数据类型面积的计算
时间: 2023-05-11 18:05:41 浏览: 67
可以通过模板函数来实现area的重载,以下是示例代码:
```c++
#include <iostream>
template<typename T>
T area(T length, T width) {
return length * width;
}
template<typename T>
T area(T radius) {
return 3.14 * radius * radius;
}
int main() {
std::cout << "Area of rectangle with length 5 and width 3: " << area(5, 3) << std::endl;
std::cout << "Area of circle with radius 4: " << area(4) << std::endl;
return 0;
}
```
这个程序定义了两个模板函数,一个用于计算矩形的面积,另一个用于计算圆形的面积。这两个函数都可以处理任意数据类型的参数,因为它们是模板函数。
如果你想计算其它形状的面积,只需要定义一个新的模板函数即可。
相关问题
c++用重载方式编写函数area,实现:计算圆面积,计算长方形面积
好的,这个问题我可以回答。下面是用 C++ 重载方式编写的 area 函数,可以计算圆和长方形的面积:
```c++
#include<iostream>
using namespace std;
const double PI = 3.1415926; // 定义圆周率
// 计算圆面积
double area(double r)
{
return PI * r * r;
}
// 计算长方形面积
double area(double length, double width)
{
return length * width;
}
// 测试函数
int main()
{
double r = 5.0;
double length = 10.0, width = 5.0;
cout << "圆的面积:" << area(r) << endl;
cout << "长方形的面积:" << area(length, width) << endl;
return 0;
}
```
在上面的代码中,我们定义了两个 area 函数,一个用于计算圆的面积,另一个用于计算长方形的面积。这两个函数的参数个数和类型不同,因此它们可以被看作是重载函数。在测试函数中,我们分别调用了这两个函数,并输出它们的结果。
c++用重载方式编写函数area,实现:计算圆面积,计算长方形面积
好的,我可以帮你解答这个问题。以下是一个示例代码:
```cpp
#include <iostream>
using namespace std;
const double PI = 3.14159;
double area(double r)
{
return PI * r * r;
}
double area(double l, double w)
{
return l * w;
}
int main()
{
double r, l, w;
cout << "请输入圆的半径: ";
cin >> r;
cout << "圆的面积为:" << area(r) << endl;
cout << "请输入长方形的长和宽: ";
cin >> l >> w;
cout << "长方形的面积为:" << area(l, w) << endl;
return 0;
}
```
在这个示例代码中,我们定义了两个函数area,一个计算圆的面积,一个计算长方形的面积。这两个函数的名称相同,但是参数列表不同,这就是函数重载的方式。在main函数中,我们通过输入圆的半径和长方形的长和宽,分别调用了这两个函数,并输出了计算结果。