Errori, bug, domande - pagina 1056

 

Io stesso posso trovare una giustificazione per la situazione attuale: la separazione rigorosa della "proprietà" tra le istanze della stessa classe potrebbe portare a una sintassi disordinata quando si descrivono tutti i tipi di operazioni binarie (anche allo stesso livello di gerarchia). Tuttavia, con l'ereditarietà, "l'accesso diretto" dovrebbe certamente essere tagliato.

Perché non ce n'è bisogno, inequivocabilmente... ;)

 
MetaDriver:

1. Mettere una parte privata non cambierà nulla nel caso di

Nel caso dell'eredità lo farà, questo è chiaro.

2. Poche cose saranno necessarie... I motivi sono disponibili solo in caso di accesso alla propria copia.

3. quindi lasciatelo decidere. corretto. ;)

4. Questa è l'intera questione: cosa conta esattamente come "funzionamento corretto".

1. Se vuoi davvero nascondere il tuo portafoglio, perché fai gch()?

2. E quando si copiano le istanze, ce ne sono?

 
Zloy_Koldun:

1. Se vuoi davvero nascondere il tuo portafoglio, perché fai la funzione gh()?

2. E quando sono disponibili le istanze di copia?

Leggete il mio post precedente. Tutte le risposte sono lì.

Una volta, era una "decisione politica" considerare gli altri oggetti (istanze) della propria classe come amici per "default" - puramente per salvare il bukaf. E ora prendete questa eccezione come una norma di vita e volete arrampicarvi senza impedimenti nelle tasche private di tutti i parenti lontani.

Huh...

 
MetaDriver:

1. Mettere una parte privata non cambierà nulla nel caso di

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

Nel caso dell'eredità lo farà, questo è chiaro.

2. Poche cose saranno necessarie... motivi solo nel caso di accesso alla propria copia.

3. così sia deciso. corretto. ;)

4. Questa è l'intera questione: cosa si deve considerare esattamente come "lavoro corretto".

Sì, funziona, ma non dovrebbe. A proposito, quando il completamento automatico in ME (quando si scrive un ch) non viene data la variabile "portafoglio" perché è in privato, quindi questa caratteristica probabilmente è passata inosservata per tanto tempo.
 
class Человек
{
private:
   int кошелёк; 
public:
   void Человек() {  кошелёк=3; }
   void gч( Человек& ч )  
   { 
    ч.кошелёк--;   // Работает и должно работать!
   }
   void gcч( const Человек& ч )  
   { 
    ч.кошелёк--;   // Не работает, как и должно.
   }
};
 
Zloy_Koldun:

Ok, allora dimmi. Come definire un tale campo in una classe, che può essere modificato solo ed esclusivamente dai metodi dell'istanza "master" e nessun altro.

Se è impossibile, allora l'argomento delle tette di incapsulamento probabilmente non è stato trattato nella lingua, no?

 
MetaDriver:

Ok, allora dimmi. Come definire un tale campo in una classe, che può essere modificato solo ed esclusivamente dai metodi dell'istanza "master" e nessun altro.

Se è impossibile, allora l'argomento delle tette di incapsulamento probabilmente non è stato trattato nella lingua, no?

È impossibile. E non è necessario che lo sia. Se non sei d'accordo, fai un esempio sensato.
 
Cosa significa questo errore, l'ordine pendente non è stato attivato: " HistoryBase: 114 errori in 'GBPUSD60'
 
MetaDriver:
class Человек
{
private:
   int кошелёк; 
public:
   void Человек() {  кошелёк=3; }
   void gч( Человек& ч )  
   { 
    ч.кошелёк--;   // сейчас работает.  а не должно ;)
   }
};
Questa caratteristica è stata spiacevolmente sorprendente. È sicuramente una stronzata se il compilatore permette di cambiare il campo privato dell'istanza di qualcun altro. Dovrebbe essere inviato a servicedesk.
 
C-4:
Questa caratteristica è spiacevolmente sorprendente. È ovviamente una stronzata se il tuo compilatore ti permette di cambiare il campo privato dell'istanza di qualcun altro. Dovremmo pubblicarlo su servicedesk.

Non capisco: perché vuoi limitarti così tanto?

Pensate che renderà automaticamente più sicuro il vostro programma?

Non lo farà! Al contrario.

Sono restrizioni inutili che vi faranno scrivere così un giorno:

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