class with pointer menbers
string_test.cpp
1 #include "string.h" 2 #include <iostream> 3 4 using namespace std; 5 6 int main() 7 { 8 String s1("hello"); 9 String s2("world"); 10 11 String s3(s2); 12 cout << s3 << endl; 13 14 s3 = s1; 15 cout << s3 << endl; 16 cout << s2 << endl; 17 cout << s1 << endl; 18 }
string.h
1 #ifndef __MYSTRING__ 2 #define __MYSTRING__ 3 4 class String 5 { 6 public: 7 String(const char* cstr=0); 8 String(const String& str); 9 String& operator=(const String& str); 10 ~String(); 11 char* get_c_str() const { return m_data; } 12 private: 13 char* m_data; 14 }; 15 16 #include <cstring> 17 18 inline 19 String::String(const char* cstr) 20 { 21 if (cstr) { 22 m_data = new char[strlen(cstr)+1]; 23 strcpy(m_data, cstr); 24 } 25 else { 26 m_data = new char[1]; 27 *m_data = '