编写递归函数getpower计算xy,在同一个程序中针对整型和实型实现两个重载的函数:
时间: 2023-04-07 07:01:46 浏览: 125
可以回答这个问题。下面是一个示例代码:
```
#include <iostream>
using namespace std;
double getpower(double x, int y) {
if (y == 0) {
return 1;
} else if (y > 0) {
return x * getpower(x, y-1);
} else {
return 1 / getpower(x, -y);
}
}
int getpower(int x, int y) {
if (y == 0) {
return 1;
} else if (y > 0) {
return x * getpower(x, y-1);
} else {
return 1 / getpower(x, -y);
}
}
int main() {
cout << getpower(2, 3) << endl; // 输出 8
cout << getpower(2.5, 2) << endl; // 输出 6.25
return 0;
}
```
这个程序定义了两个重载的函数`getpower`,分别用于计算整型和实型的幂。这两个函数都是递归函数,通过不断调用自身来实现幂的计算。在`main`函数中,我们分别调用了这两个函数,并输出了它们的结果。