Red de conocimiento informático - Conocimiento del nombre de dominio - Estoy buscando urgentemente respuestas al tema de c++, ¡muchas gracias!

Estoy buscando urgentemente respuestas al tema de c++, ¡muchas gracias!

/VC6.0 original probado

#include

#include

clase MyString

{

public:

MyString(); // Constructor sin argumentos

MyString(const MyString &c); p> MyString(char *p); // Constructor de parámetros

void SetString(char *p); // Establecer cadena

int GetLength(); la cadena

MyString Ltrim(); // Elimina el espacio izquierdo

MyString Rtrim() // Elimina el espacio derecho

MyString StrLink( char * p); // Concatenar cadenas

MyString StrLink(MyString &c); // Concatenar cadenas

MyString Ucase() // Concatenar todas las letras minúsculas de la cadena Convertir a letras mayúsculas

MyString Lcase(); // Convierte todas las letras mayúsculas a minúsculas

MyString DelChar(char ch); // Elimina todas las apariciones del carácter especificado en la cadena Character

char * ToString(); // Devuelve matriz de caracteres

Operador MyString = (char *p);

Operador MyString = (const MyString one);

Operador MyString +=(char *p);

Operador MyString + (char *p);

Operador MyString + ( const MyString one

amigo operador MyString + (char *p,const MyString one);

~MyString() //Destructor

privado:

char *str;

int array_len; // Longitud de la matriz de caracteres

int str_len; // Longitud real de la cadena

};

MyString::MyString()

{

this->str=new char[1]

this->str_len= 1;

;

this->array_len=0;

}

MiCadena::MiCadena(char *p)

{

int i=0;

mientras( *(p+i)! = '\0')

{

i++;

}

this->str=new char[i+1] ;

this->array_len=i+1;

this->str_len=i;

for(int j=0;j<

p>}

MiCadena::MiCadena(const MiCadena &c)

{

this->array_ len=c.array_len;

this->str_len=c.str_len;

str=new char[this->array_len];

for(int i=0;iarray_len;i++ )

this->str[i]=c.str[i];

this->str[i]=c.array_len;

para (int i=0;iarray_len;i++)

MyString MyString::operator =(const MyString one)

{

SetString( one.str);

Devuelve *this;

}

MiCadena MiCadena::operador +(char*p)

{

MyString one=this->StrLink(p);

Devuelve uno;

}

MyString MyString::operator += (char*p)

{

MyString one=this->StrLink(p);

Devuelve *this else break;

}

MyString one(tmp);

eliminar [] tmp;

devolver uno;

}

MyString::~MyString()

{

if(this->str) eliminar [] this->str;

}

char* MyString::ToString()

{

return this->str;

}

int main(int argc, char* argv[])

{

MyString str1("wangaochao"); //inicializar str1

str1=str1.str ="wangacha y dengxiaoqin"

// También puedes usar str1=str1+str2; o str1+=str para lograr el mismo efecto

MyString str3=str1.StrLink(" Es un maestro.

StrLink(" son maestros.");

//str3.str=" wangacha y dengxiaoqin son maestros."

//MyStringstr3=str1+"son maestros. " se puede lograr con el mismo efecto que el anterior

cout<

MyString one="dices:"+str1 ; / /one.str="dices:wangacha y dengxiaoqin son maestros"

MyString one="dices:"+str1; //one.ToString()<

cout<

one=" "+one+" "; // agrega espacios izquierdo y derecho

cout<

one=one.Ltrim( ); //elimina los espacios izquierdo y derecho

one=one.Rtrim();

cout<

cout<

return 0;

}