#include <iostream> #include <string> using namespace std; class String { public: String(const char *str=NULL); String(const String &another); ~String(); String& operator=(const String& rhs); private: char* m_data; }; String::String(const char *str) { if(str==NULL) { m_data=new char(0); *m_data='\0'; } else { m_data=new char[strlen(str)+1]; strcpy(m_data,str); } } String::String(const String &another) { m_data=new char[strlen(another.m_data)+1];//这里是可以直接访问类的私有成员的 strcpy(m_data,another.m_data); } String::~String() { delete[] m_data; } int main() { String s("12"); //cout<<s.m_data<<endl; String test=s; //cout<<test.m_data<<endl; return 0; }