定义一个重载函数,如果输入是两个double类型数据,则返回两者之和;如果输入是一个double类型的数据,则cout一句古诗。
时间: 2024-02-20 08:56:08 浏览: 26
下面是一个满足要求的重载函数的定义:
```c++
#include <iostream>
using namespace std;
double add(double a, double b) {
return a + b;
}
void add(double a) {
cout << "登鹳雀楼\n";
cout << "白日依山尽,黄河入海流。\n";
cout << "欲窮千里目,更上一層樓。\n";
}
int main() {
double x = 3.14, y = 2.718;
cout << add(x, y) << endl;
add(x);
return 0;
}
```
当我们调用`add(x, y)`时,它会返回两个数的和。而当我们调用`add(x)`时,它会输出一句古诗。注意,这两个函数的名称相同,但参数不同,它们的行为也不同,这就是重载函数的特点。
相关问题
定义一个重载函数,如果输入是两个double类型数据,则返回两者之和;如果输入是一个double类型的数据,则cout一句古诗。
以下是符合您要求的重载函数代码:
```c++
#include <iostream>
using namespace std;
void Add(double a, double b) {
cout << "Sum of " << a << " and " << b << " is " << a + b << endl;
}
void Add(double a) {
cout << "花间一壶酒,独酌无相亲。" << endl;
}
int main() {
double num1 = 3.14, num2 = 6.28;
Add(num1, num2); // 输出:Sum of 3.14 and 6.28 is 9.42
Add(num1); // 输出:花间一壶酒,独酌无相亲。
return 0;
}
```
当传入两个double类型数据时,函数Add(double a, double b)被调用并输出它们的和;当只传入一个double类型数据时,函数Add(double a)被调用并输出古诗。
c++语言编写一个计算器,输入利用函数重载判断是整形还是实型
好的,以下是一个使用函数重载来判断输入是整型还是实型的 C++ 计算器程序:
```c++
#include <iostream>
using namespace std;
int calculate(int num1, int num2, char op) {
switch(op) {
case '+':
return num1 + num2;
case '-':
return num1 - num2;
case '*':
return num1 * num2;
case '/':
if (num2 == 0) {
cout << "除数不能为零" << endl;
return 0;
} else {
return num1 / num2;
}
default:
cout << "输入的操作符不合法" << endl;
return 0;
}
}
double calculate(double num1, double num2, char op) {
switch(op) {
case '+':
return num1 + num2;
case '-':
return num1 - num2;
case '*':
return num1 * num2;
case '/':
if (num2 == 0) {
cout << "除数不能为零" << endl;
return 0;
} else {
return num1 / num2;
}
default:
cout << "输入的操作符不合法" << endl;
return 0;
}
}
int main() {
char op;
cout << "请输入两个数字: ";
if (cin.peek() == '.' || cin.peek() == '-' || isdigit(cin.peek())) {
// 如果第一个输入的字符是小数点、负号或数字,则认为是实型
double num1, num2;
cin >> num1 >> num2;
cout << "请输入操作符 (+, -, *, /): ";
cin >> op;
cout << calculate(num1, num2, op);
} else {
// 否则认为是整型
int num1, num2;
cin >> num1 >> num2;
cout << "请输入操作符 (+, -, *, /): ";
cin >> op;
cout << calculate(num1, num2, op);
}
return 0;
}
```
这个程序定义了两个函数 `calculate`,一个用于整型计算,另一个用于实型计算。每个函数中都有一个和上一个程序类似的 `switch` 语句来进行相应的计算。在 `main` 函数中,首先通过 `cin.peek()` 函数来判断用户输入的第一个字符是什么,如果是小数点、负号或数字,则认为是实型,否则认为是整型。然后调用相应的 `calculate` 函数进行计算。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)