Errores, fallos, preguntas - página 1056

 

Yo mismo encuentro una justificación para la situación actual: la separación estricta de la "propiedad" entre instancias de la misma clase podría llevar a una sintaxis desordenada al describir todo tipo de operaciones binarias (incluso en el mismo nivel jerárquico). Sin embargo, con la herencia, el "acceso directo" debe ser ciertamente recortado.

Porque no tiene sentido hacerlo... ;)

 
MetaDriver:

1. Poner una parte privada no cambiará nada en el caso de

En el caso de la herencia lo hará, está claro.

2. Se necesitarán pocas cosas... Los motivos sólo están disponibles en el caso de acceso a la propia copia.

3. así que deja que decida. correcto. ;)

4. Esa es toda la cuestión: qué es exactamente lo que cuenta como "funcionamiento correcto".

1. Si realmente quieres ocultar tu cartera, ¿por qué haces gch()?

2. Y al copiar instancias, ¿hay alguna?

 
Zloy_Koldun:

1. Si realmente quieres ocultar tu cartera, ¿por qué haces la función gh()?

2. ¿Y cuándo están disponibles las instancias de copia?

Lee mi post anterior. Todas las respuestas están ahí.

Antes era una "decisión política" considerar a otros objetos (instancias) de tu misma clase como amigos por "defecto" - puramente para salvar el bukaf. Y ahora tomas esta excepción como una norma de vida y quieres meterte en los bolsillos privados de todos los parientes lejanos sin obstáculos.

Huh...

 
MetaDriver:

1. Poner una parte privada no cambiará nada en el caso de

class Человек
{
private:
   int кошелёк; 
public:
   void Человек() {  кошелёк=3; }
   void gч( Человек& ч )  
   { 
    ч.кошелёк--;   // сейчас работает.  а не должно ;)
   }
};

En el caso de la herencia lo hará, está claro.

2. Se necesitarán pocas cosas... motivos sólo en el caso de acceso a la propia copia.

3. que se decida. correcto. ;)

4. Esa es toda la cuestión: qué debe considerarse exactamente "trabajo correcto".

Sí funciona, pero no debería. Por cierto, cuando se autocompleta en ME (al escribir una ch) no se da la variable "cartera" porque está en privado, así que probablemente esta característica pasó desapercibida durante tanto tiempo.
 
class Человек
{
private:
   int кошелёк; 
public:
   void Человек() {  кошелёк=3; }
   void gч( Человек& ч )  
   { 
    ч.кошелёк--;   // Работает и должно работать!
   }
   void gcч( const Человек& ч )  
   { 
    ч.кошелёк--;   // Не работает, как и должно.
   }
};
 
Zloy_Koldun:

Ok. Entonces dime. Cómo definir un campo de este tipo en una clase, que pueda ser modificado única y exclusivamente por los métodos de la instancia "maestra" y nadie más.

Si es imposible, entonces el tema de las tetas de encapsulación probablemente no se ha cubierto en el lenguaje, ¿no?

 
MetaDriver:

Ok. Entonces dime. Cómo definir un campo de este tipo en una clase, que pueda ser modificado única y exclusivamente por los métodos de la instancia "maestra" y nadie más.

Si es imposible, entonces el tema de las tetas de encapsulación probablemente no se ha cubierto en el lenguaje, ¿no?

Es imposible. Y no tiene por qué serlo. Si no estás de acuerdo, pon un ejemplo sensato.
 
Qué significa este error, la orden pendiente no se ha activado: " HistoryBase: 114 errores en 'GBPUSD60'
 
MetaDriver:
class Человек
{
private:
   int кошелёк; 
public:
   void Человек() {  кошелёк=3; }
   void gч( Человек& ч )  
   { 
    ч.кошелёк--;   // сейчас работает.  а не должно ;)
   }
};
Esta característica fue desagradablemente sorprendente. Definitivamente es una mierda que el compilador permita cambiar el campo privado de una instancia ajena. Debe ser enviado a servicedesk.
 
C-4:
Esta característica es desagradablemente sorprendente. Obviamente es una mierda si tu compilador te permite cambiar el campo privado de la instancia de otra persona. Deberíamos publicarlo en servicedesk.

No entiendo: ¿por qué quieres limitarte tanto?

¿Cree que esto hará que su programa sea automáticamente más seguro?

No lo hará. Al contrario.

Son las restricciones innecesarias las que harán que algún día lo escribas así:

static int Мой_Кошелёк; // Бери, все, кто хочет.