Red de conocimiento informático - Computadora portátil - Problemas de C++, ¡urgentes en línea! ! ! ! ! !

Problemas de C++, ¡urgentes en línea! ! ! ! ! !

strlen(s) es una llamada a una función en string.h que calcula la longitud de una cadena. Su función es calcular la longitud de la cuerda a la que apunta s.

nuevo es el espacio solicitado.

eliminar es liberar espacio.

eliminar []str es incorrecto, debería ser eliminar str;

Porque agregar [] liberará la matriz y str es un puntero, no una matriz.

La sobrecarga = en el primer piso no considera la autorreplicación, lo que resulta en pérdidas de memoria.

1. Para definir a=a+b, primero necesita definir dos funciones:

Copiar constructor y sobrecarga del operador de asignación.

2. La suma es una concatenación de cadenas.

#include

#include

Usar espacio de nombres std;

clase Mystring

{

público:

Mystring(char *s)

{

str=new char[strlen(s)+ 1 ];

strcpy(str,s);

}

Mystring(Mystring & Mys)

{

str=new char[strlen(Mys.str)+1];

strcpy(str,Mys.str);

}

Mystring & operador=(Micadena y miS);

Micadena y operador+(Micadena y miS);

~Micadena()

{

eliminar str;

}

privado:

char *str;

};

Mystring & Mystring ::operator=(Micadena y miS)

{

if(this!=& miS)

{

eliminar cadena;

str= nuevo carácter[strlen(myS.str)+1];

strcpy(str,myS.str);