c++求绝对值函数重载
时间: 2023-11-24 14:50:48 浏览: 210
以下是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代码,已使用函数重载功能实现支持各种基本数据类型:
```
#include <stdio.h>
#include <math.h>
float compare(float a, float b) {
if(a > b) {
return a;
} else {
return b;
}
}
int compare(int a, int b) {
if(a > b) {
return a;
} else {
return b;
}
}
float square(float n) {
return pow(n, 2);
}
int square(int n) {
return pow(n, 2);
}
float absolute(float n) {
return fabs(n);
}
int absolute(int n) {
return abs(n);
}
float triangleArea(float base, float height) {
return (base * height) / 2;
}
int triangleArea(int base, int height) {
return (base * height) / 2;
}
int main() {
float f1 = 1.5;
float f2 = 2.7;
printf("The bigger number is: %f\n", compare(f1, f2));
int i1 = 3;
int i2 = 6;
printf("The bigger number is: %d\n", compare(i1, i2));
float n1 = 5.0;
int n2 = 7;
printf("The square of the first number is: %f\n", square(n1));
printf("The square of the second number is: %d\n", square(n2));
float n3 = -3.5;
int n4 = -2;
printf("The absolute value of the first number is: %f\n", absolute(n3));
printf("The absolute value of the second number is: %d\n", absolute(n4));
float base = 4.0;
float height = 5.0;
printf("The area of the triangle is: %f\n", triangleArea(base, height));
int base2 = 6;
int height2 = 8;
printf("The area of the triangle is: %d\n", triangleArea(base2, height2));
return 0;
}
```
阅读全文