c++6.定义一个字符串类String,有两个私有数据成员:char* content和int len;要求: 1)在构造函数中提示用户输入字符串; 2) 用户能获取和显示字符串;(分别由两个函数完成) 3)实现对字符串中所有小写字母变成大写。 4)在主函数中定义String类的对象,并对所有成员函数进行测试。 注意内存的分配与释放。
时间: 2024-02-12 17:09:32 浏览: 55
好的,我来为您解答这个问题。
以下是实现的代码:
```c++
#include <iostream>
#include <cstring>
#include <cctype>
using namespace std;
class String {
private:
char* content;
int len;
public:
String() {
content = nullptr;
len = 0;
}
~String() {
if (content != nullptr) {
delete[] content;
}
}
void input() {
cout << "请输入字符串:";
char tmp[100];
cin >> tmp;
len = strlen(tmp);
content = new char[len + 1];
strcpy(content, tmp);
}
void display() {
cout << "字符串为:" << content << endl;
}
void toUpper() {
for (int i = 0; i < len; i++) {
if (islower(content[i])) {
content[i] = toupper(content[i]);
}
}
}
};
int main() {
String str;
str.input();
str.display();
str.toUpper();
str.display();
return 0;
}
```
这个String类实现了输入、输出、转换为大写字母三个成员函数,并且在析构函数中释放了动态分配的内存。
在主函数中,我们定义了一个String对象,先进行输入和显示,然后调用toUpper函数将字符串中的小写字母转换为大写字母,最后再次显示字符串。
希望对您有所帮助!
阅读全文