#include <iostream> #include <string> using namespace std; class MyString { public: MyString(const char* str); ~MyString(); MyString(const MyString &str); MyString& operator=(const MyString &str); private: char* pdata; }; MyString::MyString(const char* str) { if (str==NULL) { pdata=new char[1]; pdata='\0'; } else { int length=strlen(str)+1; pdata=new char[length]; strcpy(pdata,str); } } MyString::MyString(const MyString &str) { int length=strlen(str.pdata)+1; pdata=new char[length]; strcpy(pdata,str.pdata); } MyString::~MyString() { delete[] pdata; } MyString& MyString::operator=(const MyString &str) { if (this!=&str) { MyString strtemp(str); char *temp=strtemp.pdata; strtemp.pdata=pdata; pdata=temp; } return *this; }