class MyString {
public:
MyString():len(0),data(NULL) {
len = 0;
data = new char[1];
data[0] = '\0';
}
MyString(const char* str) {
if (str == NULL) {
MyString();
}
len = strlen(str);
data = new char[len+1];
strcpy(data, str);
}
MyString(const MyString& myString){
len = myString.len;
data = new char[len+1];
strcpy(data, myString.data);
}
MyString& operator=(const MyString& myString) {
if (this == &myString) {
return *this;
}
delete[] data;
len = myString.len;
data = new char[len+1];
strcpy(data, myString.data);
return *this;
}
~MyString(){
if (data != NULL) {
delete[] data;
data = NULL;
}
}
private:
int len;
char* data;
};
实现一个String类
最新推荐文章于 2024-08-08 17:47:02 发布