Per riassumere: la classe base non vede il campo non statico della derivata. Allo stesso tempo, la classe base non vede protected static del derivato, ma vede public static. Hai inventato tu questa regola?
A100: Per riassumere: una classe base non vede i campi non statici di una classe derivata. Allo stesso tempo, la classe base non vede protected static della derivata, ma vede public static. Hai inventato tu questa regola?
È difficile per me dire dove si fanno queste generalizzazioni. Io stesso non l'avevo in mente in nessun modo.
Qualsiasi classe vede campi/metodi statici pubblici di qualsiasi altra classe.
La classe base non vede mai i campi/metodi protetti/privati (statici - qualsiasi cosa) della classe derivata (eredità pubblica).
Una classe derivata(public-inheritance) non vede mai campi/metodi privati di una classe base, ma vede sempre protected/public.
Qualsiasi classe vede campi/metodi statici pubblici di qualsiasi altra classe.
Alla fine, la questione si riduce a questo: È corretto che in MQL, i campi/metodi statici pubblici di una classe derivata sono disponibili in una classe base?
L'"antenato" vede i campi protetti/privati e non dovrebbe.
E i campi pubblici: si dovrebbe/non si dovrebbe?
Se aggiungiamo
struttura B;
E pubblico: si dovrebbe/non si dovrebbe?
Il campo statico pubblico è un must.
Per riassumere: una classe base non vede i campi non statici di una classe derivata. Allo stesso tempo, la classe base non vede protected static della derivata, ma vede public static. Hai inventato tu questa regola?
È difficile per me dire dove si fanno queste generalizzazioni. Io stesso non l'avevo in mente in nessun modo.
Qualsiasi classe vede campi/metodi statici pubblici di qualsiasi altra classe.
La classe base non vede mai i campi/metodi protetti/privati (statici - qualsiasi cosa) della classe derivata (eredità pubblica).
Una classe derivata(public-inheritance) non vede mai campi/metodi privati di una classe base, ma vede sempre protected/public.
Qualsiasi classe vede campi/metodi statici pubblici di qualsiasi altra classe.
Alla fine, la questione si riduce a questo: È corretto che in MQL, la classe base ha campi/metodi statici pubblici di quella derivata?
Questo è corretto non solo per il caso base/derivata, ma per qualsiasi classe in generale.
Questo è corretto non solo per il caso base/derivata, ma per tutte le classi in generale.
La questione non è sorta dal nulla
e quindi deve essere controllato in dettaglioQualsiasi classe vede campi/metodi statici pubblici di qualsiasi altra classe.
... Compresa la classe base. Da qui la seguente contraddizione in MQL
C++ senza erroriIn C++ per default nelle strutture i membri sono pubblici, in mql privati, come nelle classi.
Sì, mi sono sbagliato, manca la dichiarazione in avanti in C++, abbiamo bisogno della definizione
... compreso quello di base. Da qui la seguente contraddizione in MQL
C++ senza erroriSì, questo è un bug nell'ereditarietà privata di MQL.