class myString {
private:
int len;
char* data;
public:
myString() {
len = 0;
data = 0;
}
~myString() {
delete[] data;
}
myString& operator=(const char* str) {
len = strlen(str);
char* newData = new char[len + 1];
strcpy(newData, str);
delete[] data;
data = newData;
return *this;
}
myString& operator=(const myString& str) {
len = strlen(str.data);
char* newData = new char[len + 1];
strcpy(newData, str.data);
delete[] data;
data = newData;
return *this;
}
const myString operator+(const char* str) const {
myString ret;
ret.len = len + strlen(str);
ret.data = new char[len + 1];
strcpy(ret.data, data);
strcpy(&(ret.data[len]), str);
return ret;
}
myString& operator+=(const char* str) {
int newLen = len + strlen(str);
char* newData = new char[newLen + 1];
strcpy(newData, data);
strcpy(&(newData[len]), str);
len = newLen;
delete[] data;
data = newData;
return *this;
}
};
class myString
{
sting a[];
public:
mystring()
{
}
};
String类本来就可以实现如上功能了,不必要在设计了
String类好像不能吧? 好久不用c++,不确定了。。。
应该是CString类,如果没有记错的话