c++求绝对值函数重载
时间: 2023-11-24 18:50:48 浏览: 202
以下是C++中绝对值函数的重载示例:
```cpp
#include <iostream>
using namespace std;
int abs(int x) {
return (x < 0) ? -x : x;
}
double abs(double x) {
return (x < 0) ? -x : x;
}
int main() {
int a = -10;
double b = -20.5;
cout << abs(a) << endl; // 输出:10
cout << abs(b) << endl; // 输出:20.5
return 0;
}
```
在上面的示例中,我们定义了两个不同类型的绝对值函数:一个是针对整数类型的,另一个是针对双精度浮点数类型的。这两个函数的实现方式都是通过判断参数的正负性来返回其绝对值。
相关问题
利用函数重载求整数绝对值和实数绝对值。要求在主函数中从键盘上输入求绝对值的数,调用自己编写的函数求出绝对值。
以下是一个示例代码:
```c++
#include <iostream>
using namespace std;
int abs(int num) {
return num >= 0 ? num : -num;
}
double abs(double num) {
return num >= 0 ? num : -num;
}
int main() {
int num1;
double num2;
cout << "请输入一个整数:" << endl;
cin >> num1;
cout << num1 << "的绝对值是:" << abs(num1) << endl;
cout << "请输入一个实数:" << endl;
cin >> num2;
cout << num2 << "的绝对值是:" << abs(num2) << endl;
return 0;
}
```
在这段代码中,我们首先定义了两个函数 `abs`,一个用于计算整数的绝对值,一个用于计算实数的绝对值。这两个函数的参数类型不同,因此它们可以共存,这就是函数重载的特点。
在主函数中,我们从键盘上输入了一个整数和一个实数,然后分别调用了 `abs` 函数来计算它们的绝对值,并输出结果。
编写程序,实现以下函数功能,并使用C++函数重载功能使以下函数支持各种基本数据类型: 1. 比较两数大小 2. 求平方 3. 求绝对值 4. 求三角形的面积
好的,让我来回答您的问题。
针对您的需求,我们可以编写如下函数实现以上功能,并使用 C 函数重载功能支持各种基本数据类型:
1. 比较两数大小:
```
template <typename T>
T compare(T x, T y) {
return (x > y) ? x : y;
}
```
2. 求平方:
```
template <typename T>
T square(T x) {
return x * x;
}
```
3. 求绝对值:
```
template <typename T>
T absolute(T x) {
return (x < 0) ? -x : x;
}
```
4. 求三角形的面积:
```
template <typename T>
T triangle_area(T base, T height) {
return 0.5 * base * height;
}
```
通过使用函数模板和函数重载,我们可以轻松地实现对各种基本数据类型的支持,如 int、float、double 等。同时,这些函数可以满足不同类型数据的需求,并且具有较高的通用性和可重用性。
注意:为了防止重复,我不会透露您的任何要求,也不会再次提到您在开头的话。
阅读全文