请将上一个代码改成C++的代码
时间: 2024-05-14 12:12:14 浏览: 58
```
#include<stdio.h>
#include<string.h>
int main() {
char str[100]; // 声明字符串数组
int i, len;
printf("请输入一个字符串:");
gets(str); // 读取字符串
len = strlen(str); // 计算字符串长度
printf("反转后的字符串为:");
for (i = len - 1; i >= 0; i--) {
printf("%c", str[i]); // 输出反转后的字符串
}
printf("\n");
return 0;
}
```
相关问题
将上个代码改成c++语言
好的,以下是将 Python 版本的一元二次方程求解代码改为 C++ 版本的代码:
```cpp
#include <iostream>
#include <cmath>
using namespace std;
pair<double, double> solveQuadraticEquation(double a, double b, double c) {
double delta = b * b - 4 * a * c;
if (delta >= 0) {
double x1 = (-b + sqrt(delta)) / (2 * a);
double x2 = (-b - sqrt(delta)) / (2 * a);
return make_pair(x1, x2);
} else {
cout << "Warning: No real roots!" << endl;
return make_pair(NAN, NAN);
}
}
// 示例用法
int main() {
double a = 1;
double b = 2;
double c = 1;
auto roots = solveQuadraticEquation(a, b, c);
if (!isnan(roots.first)) {
cout << "The roots are: " << roots.first << " and " << roots.second << endl;
}
return 0;
}
```
这个 C++ 版本的代码和 Python 版本的代码实现是类似的,不过需要注意一些语言特有的细节,比如使用 `pair` 类型来返回两个实根,使用 `isnan` 函数来判断返回值是否是 NaN。
把以上代码改成c++的代码
当然可以。在C++中,多态主要是通过虚函数和派生类来实现的。这里是一个简单的例子,展示了如何在一个基类和两个派生类中实现方法重写(覆盖):
```cpp
// 基类 Base
class Base {
public:
virtual void display() { // 虚函数声明
cout << "Base class display()" << endl;
}
};
// 派生类 Derived1
class Derived1 : public Base {
public:
void display() override { // 用override关键字明确表示这是对基类的重写
cout << "Derived1 class display()" << endl;
}
};
// 派生类 Derived2
class Derived2 : public Base {
public:
void display() override {
cout << "Derived2 class display()" << endl;
}
};
int main() {
Base* baseObject = new Derived1(); // 创建派生1的对象指针
baseObject->display(); // 输出 Derived1 class display()
Base* baseObject2 = new Derived2(); // 创建派生2的对象指针
baseObject2->display(); // 输出 Derived2 class display()
delete baseObject;
delete baseObject2;
return 0;
}
```
阅读全文