这里只写了一点点,自己慢慢调试出来的,只包含了复制构造,赋值运算符和+ 的重载,希望蛋疼芜鄙的麻油看了之后抡锤子
/**************String.h*****************/
#include<stdio.h> //#include<memory.h> class String { private: char *m_data; int m_len; int mystrlen(const char* str ); char* mystrcat(char*DeStr,char *srStr); public: String(const char* str=NULL); String(const String &onestr); String &operator=(const String &onestr); ~String(); int StrLen(); String &operator+(const String &onestr); };
/************String.cpp**********************/
#include"String.h" #include<malloc.h> int String:: mystrlen(const char * str) { int len = 0; while(*str) { len++; str++; } return len; } char* String::mystrcat(char* s1,char*s2) { int len = mystrlen(s1)+mystrlen(s2); char *str=(char*)malloc(len+1); for(int i=0;i<len;i++) { if(i<mystrlen(s1)) { str[i]=s1[i]; } if(i>=mystrlen(s1)) { str[i]=s2[i-mystrlen(s1)]; } } str[len]='