#include "StdAfx.h"
#include "myString.h"
#include <string.h>
ostream & operator<<( ostream & out,const myString & str )
{
for(int i=0;i<str.count();i++)
{
out<<str[i];
}
return out;
}
myString operator+( const myString& str1,const myString& str2 )
{
myString temp(str1,str2);
return temp;
}
myString::myString(const char* str)
{
_mystring=new char[strlen(str)+1];
strcpy(_mystring,str);
_mystring[strlen(str)]='\0';
}
myString::myString( const int len )
{
_mystring=new char[len];
memset(_mystring,0,len);
}
myString::myString( const myString& str1,const myString& str2 )
{
_mystring=new char[str1.count()+str2.count()];
for(int i=0;i<str1.count();i++)
{
_mystring[i]=str1[i];
}
for(int j=0;j<str2.count();j++)
{
_mystring[str1.count()+j]=str2[j];
}
_mystring[str1.count()+str2.count()]='\0';
}
myString::~myString(void)
{
}
const int myString::count() const
{
return strlen(_mystring);
}
const char & myString::operator[]( unsigned short offset ) const
{
return _mystring[offset];
}
#include "myString.h"
#include <string.h>
ostream & operator<<( ostream & out,const myString & str )
{
for(int i=0;i<str.count();i++)
{
out<<str[i];
}
return out;
}
myString operator+( const myString& str1,const myString& str2 )
{
myString temp(str1,str2);
return temp;
}
myString::myString(const char* str)
{
_mystring=new char[strlen(str)+1];
strcpy(_mystring,str);
_mystring[strlen(str)]='\0';
}
myString::myString( const int len )
{
_mystring=new char[len];
memset(_mystring,0,len);
}
myString::myString( const myString& str1,const myString& str2 )
{
_mystring=new char[str1.count()+str2.count()];
for(int i=0;i<str1.count();i++)
{
_mystring[i]=str1[i];
}
for(int j=0;j<str2.count();j++)
{
_mystring[str1.count()+j]=str2[j];
}
_mystring[str1.count()+str2.count()]='\0';
}
myString::~myString(void)
{
}
const int myString::count() const
{
return strlen(_mystring);
}
const char & myString::operator[]( unsigned short offset ) const
{
return _mystring[offset];
}