E i puntatori alle strutture sarebbero molto utili, e non devono essere dinamici - la cosa principale è che un array di indici può essere ordinato al posto delle strutture stesse.
// In molti casi, non è desiderabile sostituire le strutture con le classi. Sono economici (nessuna tabella di metodo virtuale) e contengono dati "solidi".
In generale, questo è il motivo per cui stiamo per introdurre l'ereditarietà, si può sempre ottenere un handle per una classe reversibile.
Quelli che abbiamo iniziato con l'insieme da cui la cellula è ereditata, quelli convergono in una classe, poi divergono di nuovo in organi e convergono di nuovo in una classe di persone, e divergono di nuovo in professioni.
Non so voi, ma le persone normali non si dividono in organi. L'ereditarietà multipla è una cosa molto discutibile, e non per niente nel più avanzato linguaggio C# si è deciso di rifiutare questo meccanismo in favore delle interfacce. Pensate che gli sviluppatori C# non sapessero cosa stavano facendo?
C-4: Non so voi, ma la gente normale non dona gli organi. L'ereditarietà multipla è una cosa molto controversa, e non per niente nel più avanzato linguaggio C# si è deciso di rifiutare questo meccanismo in favore delle interfacce. Pensate che gli sviluppatori C# non sapessero cosa stavano facendo?
E la donazione di organi? :)
La questione è discutibile e non completamente chiusa, il fatto è che C++ ha l'ereditarietà multipla, MQL è posizionato come linguaggio simile a C++, perché no.
C-4: Non so voi, ma le persone normali non entrano negli organi. L'ereditarietà multipla è una cosa molto controversa, e non per niente nel più avanzato linguaggio C# si è deciso di rifiutare questo meccanismo in favore delle interfacce. Pensate che gli sviluppatori C# non sapessero cosa stavano facendo?
Bazinga :)
Prima di tutto, perché diavolo C# è diventato improvvisamente il linguaggio più avanzato?
In secondo luogo, in C# hanno deciso di negare l'ereditarietà multipla delle classi in favore dell'ereditarietà multipla delle interfacce. ))) È più facile da implementare.
Vai a imparare la materia.
TheXpert:
Non a prima vista, ma l'ho usato più di una volta. E praticamente senza alcuna variante.
Mi rimangio tutto: ho usato l'eredità virtuale solo per eliminare il problema della scelta ambigua della superclasse.
1. Prima di tutto, perché diavolo C# è improvvisamente il linguaggio più avanzato?
(2) In secondo luogo, in C# è stato deciso di abbandonare l'ereditarietà multipla delle classi in favore dell'ereditarietà multipla delle interfacce. ))) È più facile da implementare.
1) Quali sono esattamente le sue obiezioni? :)
2) Chiediamo interfacce con ereditarietà multipla. :)
Prima di tutto, perché diavolo C# è diventato improvvisamente il linguaggio più avanzato?
In secondo luogo, in C# è stato deciso di abbandonare l'ereditarietà multipla delle classi in favore dell'ereditarietà multipla delle interfacce. ))) È più facile da implementare.
Vai a imparare la materia.
L'eredità virtuale è stata usata solo per rimuovere il problema dell'ambiguità della selezione delle superclassi.
Non darò argomenti a favore dell'aggregazione, penso che li conosciate da soli. Allo stesso modo, conosco gli argomenti a favore dell'eredità multipla. E ci sono molte giustificazioni sotto di esse, sia da una parte che dall'altra. Credo che sia una questione di chi è più vicino a cosa. Nel caso della nostra particolare azienda l'aggregazione è molto preferibile, in quanto è più facile da sviluppare e mantenere da parte del nostro team.
Urain:
Quelli che abbiamo iniziato con un insieme da cui si eredita una cellula, quelli convergevano in una classe,poi divergevano di nuovo in organi e convergevano di nuovo in una classe umana, poi divergevano di nuovo in professioni.
La professione che hai, si scopre, è l'erede della gabbia, il che è in qualche modo (inaspettato) vero :). Per determinare cosa è meglio usare in questo caso particolare, è necessario determinare la relazione tra i due oggetti:
L'oggetto A è l'oggetto B - eredità
L'oggetto A consiste in (ha, contiene) l'oggetto B - composizione
C# è sicuramente il linguaggio più avanzato. Tutto il resto è troppo antiquato o troppo specializzato.
L'ereditarietà multipla delle interfacce non è la stessa dell'ereditarietà multipla delle classi. Quest'ultimo ha una gerarchia dall'alto verso il basso, e per questo i rami discendenti possono intrecciarsi molto tra loro, causando una notevole confusione e disordine nell'architettura del progetto. Tuttavia, l'ereditarietà delle interfacce è molto più semplice: avete dei metodi unificati, per esempio la ricerca o l'ordinamento, e se volete agganciare la vostra classe ad essi, scrivete una corrispondente interfaccia di interazione. Questa non è una stampella. Questo è C++ una grande stampella scritta per il linguaggio C.
Consenti l'uso dei cookie per accedere al sito MQL5.com.
Abilita le impostazioni necessarie nel browser, altrimenti non sarà possibile accedere.
Hai effettuato l'accesso. L'autenticazione a due fattori è stata disattivata. Configurala di nuovo e scansiona un nuovo codice QR, oppure continua con l'autenticazione a due fattori disattivata.
E i puntatori alle strutture sarebbero molto utili, e non devono essere dinamici - la cosa principale è che un array di indici può essere ordinato al posto delle strutture stesse.
// In molti casi, non è desiderabile sostituire le strutture con le classi. Sono economici (nessuna tabella di metodo virtuale) e contengono dati "solidi".
Quelli che abbiamo iniziato con l'insieme da cui la cellula è ereditata, quelli convergono in una classe, poi divergono di nuovo in organi e convergono di nuovo in una classe di persone, e divergono di nuovo in professioni.
Non so voi, ma la gente normale non dona gli organi. L'ereditarietà multipla è una cosa molto controversa, e non per niente nel più avanzato linguaggio C# si è deciso di rifiutare questo meccanismo in favore delle interfacce. Pensate che gli sviluppatori C# non sapessero cosa stavano facendo?
E la donazione di organi? :)
La questione è discutibile e non completamente chiusa, il fatto è che C++ ha l'ereditarietà multipla, MQL è posizionato come linguaggio simile a C++, perché no.
Non so voi, ma le persone normali non entrano negli organi. L'ereditarietà multipla è una cosa molto controversa, e non per niente nel più avanzato linguaggio C# si è deciso di rifiutare questo meccanismo in favore delle interfacce. Pensate che gli sviluppatori C# non sapessero cosa stavano facendo?
Bazinga :)
Prima di tutto, perché diavolo C# è diventato improvvisamente il linguaggio più avanzato?
In secondo luogo, in C# hanno deciso di negare l'ereditarietà multipla delle classi in favore dell'ereditarietà multipla delle interfacce. ))) È più facile da implementare.
Vai a imparare la materia.
Non a prima vista, ma l'ho usato più di una volta. E praticamente senza alcuna variante.
In generale, è per questo che introdurremo l'ereditarietà, si può sempre ottenere un manico per una classe reversibile...
...e una tabella di metodi virtuali come peso, che è esattamente ciò che volevamo evitare :) Altrimenti la questione non sarebbe sorta.
Ok, non è fatale, userò un ulteriore array di indici.Bazinga :)
1. Prima di tutto, perché diavolo C# è improvvisamente il linguaggio più avanzato?
(2) In secondo luogo, in C# è stato deciso di abbandonare l'ereditarietà multipla delle classi in favore dell'ereditarietà multipla delle interfacce. ))) È più facile da implementare.
1) Quali sono esattamente le sue obiezioni? :)
2) Chiediamo interfacce con ereditarietà multipla. :)
Bazinga :)
Prima di tutto, perché diavolo C# è diventato improvvisamente il linguaggio più avanzato?
In secondo luogo, in C# è stato deciso di abbandonare l'ereditarietà multipla delle classi in favore dell'ereditarietà multipla delle interfacce. ))) È più facile da implementare.
Vai a imparare la materia.
L'eredità virtuale è stata usata solo per rimuovere il problema dell'ambiguità della selezione delle superclassi.Non darò argomenti a favore dell'aggregazione, penso che li conosciate da soli. Allo stesso modo, conosco gli argomenti a favore dell'eredità multipla. E ci sono molte giustificazioni sotto di esse, sia da una parte che dall'altra. Credo che sia una questione di chi è più vicino a cosa. Nel caso della nostra particolare azienda l'aggregazione è molto preferibile, in quanto è più facile da sviluppare e mantenere da parte del nostro team.
Quelli che abbiamo iniziato con un insieme da cui si eredita una cellula, quelli convergevano in una classe,poi divergevano di nuovo in organi e convergevano di nuovo in una classe umana, poi divergevano di nuovo in professioni.
La professione che hai, si scopre, è l'erede della gabbia, il che è in qualche modo (inaspettato) vero :). Per determinare cosa è meglio usare in questo caso particolare, è necessario determinare la relazione tra i due oggetti:
1. quali sono esattamente le obiezioni? :)
2. chiediamo delle interfacce. con ereditarietà multipla. allora sosterrò. :)
1. quali sono esattamente le obiezioni? :)
Ogni lingua ha il suo campo di applicazione. Dire che una lingua è "la più avanzata" in generale è assurdo.
2. chiediamo delle interfacce. con ereditarietà multipla. allora sosterrò. :)
C# è sicuramente il linguaggio più avanzato. Tutto il resto è troppo antiquato o troppo specializzato.
L'ereditarietà multipla delle interfacce non è la stessa dell'ereditarietà multipla delle classi. Quest'ultimo ha una gerarchia dall'alto verso il basso, e per questo i rami discendenti possono intrecciarsi molto tra loro, causando una notevole confusione e disordine nell'architettura del progetto. Tuttavia, l'ereditarietà delle interfacce è molto più semplice: avete dei metodi unificati, per esempio la ricerca o l'ordinamento, e se volete agganciare la vostra classe ad essi, scrivete una corrispondente interfaccia di interazione. Questa non è una stampella. Questo è C++ una grande stampella scritta per il linguaggio C.