Advertisement
Darksider3

Untitled

Oct 11th, 2013
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.05 KB | None | 0 0
  1. #include "../str.h"
  2. #include <iostream>
  3. class darkstring
  4. {
  5.   friend darkstring & operator +=( darkstring & lhs, char const* rhs );
  6.   private:
  7.     char *dstr;
  8.     unsigned int dstrlength;
  9.   public:
  10.     darkstring(const char* str)
  11.     {
  12.       int i=0,length=mystrlen(str);
  13.       dstrlength=length;
  14.       dstr=new char[length+1];
  15.       while(i < length)
  16.       {
  17.         dstr[i]=str[i];
  18.         i++;
  19.       }
  20.       dstr[i]='\0';
  21.     }
  22.     unsigned int size() const
  23.     {
  24.       return dstrlength;
  25.     }
  26. };
  27. darkstring & operator+=(darkstring &  lhs,  char const* rhs )
  28. {
  29.   int newLength=lhs.size() + mystrlen(rhs)+1, lhs_size=lhs.size();
  30.   int i=0,y=0;
  31.   char *newSTR=new char[newLength];
  32.   while(i<lhs_size-1)
  33.   {
  34.     newSTR[i]=lhs.dstr[i];
  35.     i++;
  36.   }
  37.   while(i<newLength-1)
  38.   {
  39.     newSTR[i]=rhs[y];
  40.     y++;
  41.     i++;
  42.   }
  43.  
  44.   //Nullbyte
  45.   i++;
  46.   newSTR[i]='\0';
  47.   delete[](lhs.dstr);
  48.   lhs.dstr=newSTR;
  49.   return lhs;
  50. }
  51. int main(int argc, char** argv)
  52. {
  53.   darkstring str="Hallo";
  54.   str +=" Welt";
  55.   std::cout << str;
  56. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement