📄 mystring.cpp
字号:
//MyString.cpp--类的实现文件
#include "MyString.h"
CMyString::CMyString()
{
m_len=0;
m_size=0;
m_pstr=NULL;
}
CMyString::~CMyString()
{
}
CMyString::CMyString(char *str)
{
if(str==NULL)
{
m_len=0;
m_size=0;
m_pstr=NULL;
}
else
{
m_len=strlen(str);
m_size=m_len+1;
m_pstr=new char[m_size];
if(m_pstr!=NULL)
strcpy(m_pstr,str);
}
}
CMyString::CMyString(CMyString &str)
{
if(str.m_pstr==NULL)
{
m_len=0;
m_size=0;
m_pstr=NULL;
}
else
{
m_pstr=str.m_pstr;
m_len=str.m_len;
m_size=str.m_size;
}
}
const char * CMyString::Convert()
{
if(this->m_pstr==NULL)
return NULL;
else
return (const char *)this->m_pstr;
}
CMyString & CMyString::operator =(char *str)
{
if(str==NULL)
{
m_len=0;
m_size=0;
m_pstr=NULL;
}
else
{
m_len=strlen(str);
m_size=m_len+1;
m_pstr=new char[m_size];
if(m_pstr!=NULL)
strcpy(m_pstr,str);
}
return *this;
}
CMyString & CMyString::operator =(CMyString &str)
{
if(str.m_pstr==NULL)
{
m_len=0;
m_size=0;
m_pstr=NULL;
}
else
{
m_pstr=str.m_pstr;
m_len=str.m_len;
m_size=str.m_size;
}
return *this;
}
char * CMyString::operator +(char *str)
{
char *newstr=new char[this->m_len+strlen(str)+1];
if(newstr!=NULL)
strcpy(newstr,this->m_pstr);
if(str!=NULL)
strcat(newstr,str);
return newstr;
}
char* CMyString::operator +(CMyString &str)
{
char * newstr=new char[this->m_len+str.m_len+1];
if(newstr!=NULL)
strcpy(newstr,this->m_pstr);
if(str.m_pstr!=NULL)
strcat(newstr,str.m_pstr);
return newstr;
}
int CMyString::Compare(char *cmpstr)
{
return strcmp(m_pstr,cmpstr);
}
int CMyString::Compare(CMyString &cmpstr)
{
return strcmp(m_pstr,cmpstr.m_pstr);
}
int CMyString::operator <(char *cmp)
{
return Compare(cmp)<0;
}
int CMyString::operator <(CMyString &cmp)
{
return Compare(cmp)<0;
}
int CMyString::operator >(char *cmp)
{
return Compare(cmp)>0;
}
int CMyString::operator >(CMyString &cmp)
{
return Compare(cmp)>0;
}
int CMyString::operator ==(char *cmp)
{
return Compare(cmp)==0;
}
int CMyString::operator ==(CMyString &cmp)
{
return Compare(cmp)==0;
}
char CMyString::operator [](int i)
{
if(i<0)
{
return m_pstr[0];
}
if(i>m_len)
{
return m_pstr[m_len];
}
else
return m_pstr[i];
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -