试定义一个字符串类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-07 20:02:09 浏览: 188
字符串类型转换
下面是CString类的定义和主函数的实现,代码中有注释说明每个函数的作用。
```
#include <iostream>
#include <cstring>
using namespace std;
class CString{
char *str; //字符串
public:
CString(){ //构造函数
str = NULL;
}
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(){ //析构函数
if (str) delete[] str;
}
int Set(const char s[]){ //复制字符串
if (str) delete[] str;
str = new char[strlen(s)+1];
strcpy(str, s);
return strlen(str);
}
void Print(){ //输出
cout << str;
}
};
int main(){
char s0[100], s1[100];
cin >> s0 >> s1;
CString cs0(s0), cs1(cs0);
cs0.Set(s1);
cs0.Print();
cs1.Print();
return 0;
}
```
阅读全文