
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
È possibile dichiarare un array statico in una sezione pubblica della classe e inizializzarlo nel costruttore? (come sotto) (o solo elemento per elemento?)
è possibile
o forse stai cercando un'inizializzazione statica dell'array dopo tutto?
un array statico può essere dichiarato nella sezione pubblica della classe e inizializzato nel costruttore? (come sotto) (o solo elemento per elemento?)
Va più o meno così:
In generale, questa povertà di OOP colpisce contro la sua brillantezza. Perché non possiamo inizializzare le variabili e gli array come al solito quando li dichiariamo? Non dubito, i teorici ora muoveranno un sacco di teorie dimostrandomi un idiota, ma comunque...Potete inizializzare una matrice locale ed eseguire ArrayCopy sul campo di matrice appropriato:
Anche questo era un pensiero, può essere messo in ambito globale al di fuori di qualsiasi classe.
È anche più facile, ma volevo che fosse OOP))
Va più o meno così:
In generale, questa povertà di OOP colpisce sullo sfondo della sua brillantezza. Perché non possiamo inizializzare le variabili e gli array come al solito quando li dichiariamo? Non dubito che i teorici se ne usciranno con molte teorie per dimostrare che sono un idiota, ma comunque...Ho lo stesso identico pensiero)) ogni volta che scrivo con OOP.
Anche questo era un pensiero, può essere messo nell'ambito globale al di fuori di qualsiasi classe.
È ancora più facile, ma volevo che fosse OOP))
è possibile
o forse stai cercando l'inizializzazione statica dell'array dopo tutto?
opzione interessante.
sta chiamando un "metodo con costruttore"?
opzione interessante.
è una chiamata "metodo con costruttore"?
no
è così che si inizializza la statica.
non c'è bisogno di inizializzarlo, ecco come sarà il codice:
questa non è una chiamata di metodo ma il nome completo del campo della classe A::Mass[5];
ma se cancellate la linea, c'è un errore del compilatore - la statica ha bisogno di allocare memoria prima che l'istanza della classe sia creata - questo è ciò che fa la linea giallano
ecco come si scrive l'inizializzazione della statica
non dovete inizializzarlo, ecco come sarà il codice:
grazie, risulta che questa linea(static bool A::Mass[5];) non può essere trasferita al costruttore in nessun modo?
o questo è l'unico modo per inizializzare la statica in un caso come questo?
post sopra integrato
sì, la statica dovrebbe essere descritta separatamente,@fxsaber mi ha aiutato a capirlohttps://www.mql5.com/ru/forum/325418/page4#comment_16116740
è possibile inizializzare le classi statiche anche in MQL5.
cioè questa linea(static bool A::Mass[5];) non può essere trasferita al costruttore?
No, è un campo statico di classe. È necessario allocare la memoria in anticipo, non al momento della creazione dell'istanza della classe
e lo userete ulteriormente come un normale array
Se la domanda riguarda l'inizializzazione sotto forma di una singola stringa, allora la versione di Sergei è quello che state cercando, e non avete bisogno della statica.
post sopra integrato
sì, la statica dovrebbe essere descritta separatamente,@fxsaber mi ha aiutato a capirlohttps://www.mql5.com/ru/forum/325418/page4#comment_16116740
è possibile inizializzare le classi statiche anche in MQL.
Grazie, ora ho provato e mi sono reso conto che è possibile accedere a un array in questo modo.
Per essere onesti abbiamo OOP, ma non l'ho visto in Help. È un peccato che non descriva queste sfumature.
grazie mille, a tutti quelli che hanno risposto!