定义一个字符串String类。(14分) 包括的属性:一个长度为1000的字符数组; 包括的方法:初始化字符串,求字符串的长度,打印字符串,求字符串位于[a,b]内的子串,连接两个字符串。 输出:主函数中验证各方法的功能。
时间: 2024-02-05 12:12:25 浏览: 52
String 字符串讲解
以下是字符串String类的实现,主函数中也有相应的验证代码:
```c++
#include <iostream>
#include <cstring>
using namespace std;
class String {
private:
char str[1001];
public:
String() {
memset(str, 0, sizeof(str));
}
String(const char* s) {
memset(str, 0, sizeof(str));
strncpy(str, s, 1000);
}
int length() {
return strlen(str);
}
void print() {
cout << str << endl;
}
String substr(int a, int b) {
if (a < 0 || a >= length() || b < 0 || b >= length() || a > b) {
return String();
}
char sub[1001];
strncpy(sub, str + a, b - a + 1);
sub[b - a + 1] = '\0';
return String(sub);
}
String operator+(const String& s) {
String res;
strncpy(res.str, str, 1000);
strncat(res.str, s.str, 1000 - strlen(str));
return res;
}
};
int main() {
String s1 = "hello";
String s2;
s2 = "world";
s1.print();
s2.print();
cout << "s1 length: " << s1.length() << endl;
cout << "s2 length: " << s2.length() << endl;
String s3 = s1.substr(1, 3);
s3.print();
String s4 = s1 + s2;
s4.print();
return 0;
}
```
阅读全文