#include
#include
using namespace std;
class MyString
{
private:
char* m_data;
public:
//无参构造
MyString()
{
this->m_data = new char[1];
this->m_data[0] = ‘\0’;
}
//有参构造(通过外部C风格字符串来对类中的属性指针进行初始化。)
MyString(const char* c_str)
{
//1.获得外部字符串的字符的长度。
int len = strlen(c_str);
//2.开辟空间容纳这个长度的C型字符串。
this->m_data = new char[len + 1];
//3.通过内存拷贝的方式来拷贝外部字符串的数据到这个空间中。
//memmove , memcpy
memmove(this->m_data,c_str,len);
//4.结尾处加\0;
this->m_data[len] = ‘\0’;
}
//拷贝构造:
MyString(const MyString& other)
{
int len = strlen(other.m_data);
this->m_data = new char[len + 1];
memmove(this->m_data,other.m_data, len);
this->m_data[len] = ‘\0’;
}
//MyString的析构函数
~MyString()
【C++】MyString
最新推荐文章于 2023-05-14 19:21:52 发布
![](https://img-home.csdnimg.cn/images/20240611030827.png)