class String{
public:
String(const char *data){//构造函数
int len = strlen(data);
if (0 == len) {
m_data = new char[1];
m_data[0] = '\0';
} else {
m_data = new char[len + 1];
strcpy(m_data, data);
}
}
String(const String &str){//拷贝构造函数
int len = strlen(str.m_data);
m_data = new char[len + 1];
strcpy(m_data, str.m_data);
}
String &operator=(const String &str){//赋值函数
if(0 != strcasecmp(m_data, str.m_data)){
delete[] m_data;
int len = strlen(str.m_data);
m_data = new char[len + 1];
strcpy(m_data, str.m_data);
}
return *this;
}
~String(){//析构函数
delete[] m_data;
m_data = nullptr;
}
char *m_data;
};
实现string类
于 2024-03-18 10:57:07 首次发布