- #include<stdio.h>
- #include<string.h>
- class String
- {
- public:
- String(const char*);
- String& operator= (const String&);
- String(const String&);
- ~String();
- void print(){printf("%s/n",m_data);};
- private:
- char *m_data;
- };
- String::String(const char*data)
- {
- if(data == NULL)
- {
- m_data = new char[1];
- *m_data = '/0';
- }
- else
- {
- int len = strlen(data);
- m_data = new char[len+1];
- strcpy(m_data,data);
- }
- }
- String& String::operator =(const String& str)
- {
- if(this != &str)
- {
- delete m_data;
- m_data = NULL;
- m_data = new char[strlen(str.m_data) + 1];
- strcpy(m_data,str.m_data);
- }
- return *this;
- }
- String::String(const String&str)
- {
- m_data = new char[strlen(str.m_data) + 1];
- strcpy(m_data,str.m_data);
- }
- String::~String()
- {
- delete m_data;
- m_data = NULL;
- }
C++一个String类
最新推荐文章于 2024-04-27 16:49:54 发布