试定义一个字符串类CString,声明如下: class CString { char *str; //字符串 public: CString(); //构造函数 CString(const char s[]); //构造函数 CString(CString&t); //拷贝构造函数 ~CString(); int Set(const char s[]); //复制字符串 void Print(); //输出 }; 在如下主函数中对该类进行测试。 int main() { char s0[100], s1[100]; cin >> s0 >> s1; CString cs0(s0),cs1(cs0); cs0.Set(s1); cs0.Print(); cs1.Print(); return 0; } 输入输出示意如下: ASDF zxcv zxcvASDF 请在答题窗口录入编写的完整程序。
时间: 2024-02-24 09:57:30 浏览: 159
字符串操作类CString 类
```
#include <iostream>
#include <cstring>
using namespace std;
class CString {
char *str; //字符串
public:
CString() { //构造函数
str = new char[1];
str[0] = '\0';
}
CString(const char s[]) { //构造函数
str = new char[strlen(s) + 1];
strcpy(str, s);
}
CString(CString& t) { //拷贝构造函数
str = new char[strlen(t.str) + 1];
strcpy(str, t.str);
}
~CString() {
delete[] str;
}
int Set(const char s[]) { //复制字符串
delete[] str;
str = new char[strlen(s) + 1];
strcpy(str, s);
return strlen(s);
}
void Print() { //输出
cout << str << endl;
}
};
int main() {
char s0[100], s1[100];
cin >> s0 >> s1;
CString cs0(s0), cs1(cs0);
cs0.Set(s1);
cs0.Print();
cs1.Print();
return 0;
}
```
阅读全文