//String_new.h
#ifndef __STRING_H_
#define __STRING_H_
#include
class String
{
public:
String (char *p);
String ( );
~String ( );
String &operator+(String &str2);
int operator -(String &str2);
friend bool operator >(String &str1,String &str2);
void SetString(char*p);
char *Getstring(void);
private:
char *ph;
};
#endif
//String_new.cpp
#include
#include"String_new.h"
String::String(char *p)
{
ph=new char [strlen(p)+1];
strcpy(ph,p);
cout<
String::String()
{
ph=0;
}
String::~String()
{
if(ph){
cout<
}
}
String &String::operator +(String &str2)
{
char *temp=new char [strlen(ph)+strlen(str2.Getstring())+1];
strcpy(temp,ph);
strcat(temp,str2.Getstring());
return String(temp);
}
int String ::operator -(String &str2)
{
if (strcmp(ph,str2.ph)>0)
return 1;
if (strcmp(ph,str2.ph)==0)
return 0;
else
return -1;
}
bool operator >(String &str1,String &str2)
{
if( strcmp(str1.ph,str2.ph)>0)
return true;
else
return false;
}
void String::SetString(char *p)
{
if(ph)
delete []ph;
ph=new char [strlen(p)+1];
strcpy(ph,p);
}
char *String::Getstring(void)
{
return ph;
}
//MainString.cpp
#include"String_new.h"
int main()
{
String str1("Keep");
String str2("Smile");
String str0;
str0.SetString("cry");
cout<
}