C++實現一個string類
阿新 • • 發佈:2019-02-07
#include<iostream> using namespace std; class String { private: char * m_data; public: String(char *data); ~String(); String(const String& str); String& operator =(const String& str); }; String::String(char *data) { if(data==NULL) { m_data=new char; *m_data='\0'; } else { int n=strlen(data); m_data=new char[n+1]; strcpy(m_data,data); } } String::~String() { delete []m_data; } String::String(const String &str) { delete [] m_data; int n=strlen(str.m_data); m_data=new char[n+1]; strcpy(m_data,str.m_data); } String& String::operator=(const String &str) { if(&str==this) { return *this; } else { int n=strlen(str.m_data); delete []m_data; m_data=new char[n+1]; strcpy(m_data,str.m_data); return *this; } } int main() { char * a="hello world"; string b=a; string c="hh"; b=c; }