Disponible la nueva versión "donationware" 7.3 de OrganiZATOR
Descubre un nuevo concepto en el manejo de la información.
La mejor ayuda para sobrevivir en la moderna jungla de datos la tienes aquí.

Curso C++

[Home]  [Inicio]  [Índice]


4.9.2a  Los operadores de asignación con propiedades de clase

§1  Sinopsis

Ciertos operadores de asignación no son permitidos con propiedades de clase.  Por ejemplo, el texto de una caja de texto es una propiedad, pero es una variable un tanto especial, se trata de una variable interna de la clase (privada) que solo puede ser accedida mediante un par de métodos que la asignan y devuelven su valor. Por ejemplo, digamos que son SetText(t), para establecer su valor, y GerText(t) para obtenerlo, y que ambos métodos devuelven "por valor", respectivamente. En esta hipótesis, consideremos los dos casos de asignación siguientes:

Edit1->Text = Edit1->Text + "nuevo";   // Caso-1
Edit1->Text += "nuevo";                // Caso-2


El caso 1, en la forma a = a + b, genera un código similar a:

SetText(GetText() + "nuevo");

que es correcto y proporciona el resultado esperado.

El caso 2, en la forma a += b, genera un código similar al siguiente:

temp = GetText();
temp += "nuevo";

que desde luego no funciona como cabría esperar. La variable temporal es actualizada, pero la función SetText(temp), que actualizaría la propiedad de la ventana de texto no es invocada.