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
i nomi dei parametri non sono importanti... i nomi diversi hanno senso affinché qualcosa non sia confuso con qualcosa...
Potete scrivere alcuni valori nella dichiarazione della funzione,
e altri valori nella funzione stessa
o si possono nominare i parametri in modo identico ovunque, a seconda di ciò che è più conveniente per chi scrive il codice
Nello stesso libro di testo, il codice è venuto fuori:
Strana cosa il costruttore:
Perché c'è un operatore di ritorno qui?È la prima volta che vedo questo operatore usato nel costruttore. Infatti, il costruttore viene chiamato automaticamente. E ci sarà comunque un'uscita. Questo operatore ha senso nel costruttore?
Nello stesso libro di testo, il codice è venuto fuori:
Strana cosa il costruttore:
Perché c'è un operatore di ritorno qui?È la prima volta che vedo questo operatore usato nel costruttore. Infatti, il costruttore viene chiamato automaticamente. E ci sarà comunque un'uscita. Questo operatore ha senso nel costruttore?
Non è necessario in questo esempio, ma ci può essere un'inizializzazione complessa quando è necessaria un'uscita anticipata.
Il costruttore e il distruttore sono funzioni normali. Solo il costruttore e il distruttore di default sono chiamati automaticamente. Gli altri sono chiamati dall'utente.
Il libro di testo dà questo esempio in relazione al polimorfismo:
C'è una cosa che non capisco. Se usiamo gli oggetti funzione figli per le chiamate, cioè i metodi derivati CCircle e CSquare, allora l'area GetArea() può essere calcolata bypassando le dichiarazioni nella classe base. Cioè non creare affatto funzioni virtuali nella classe base, e nei metodi derivati creare un semplice metodo e basta! Allora perché abbiamo bisogno di una funzione virtuale?
È interessante vedere un esempio adeguato e logico, dove si può vedere che le funzioni virtuali forniscono qualche beneficio. Perché quello che ho visto non era logico, almeno per me. Vorrei capire lo stesso.
Il libro di testo dà questo esempio in relazione al polimorfismo:
C'è una cosa che non capisco. Se usiamo gli oggetti funzione figli per le chiamate, cioè i metodi derivati CCircle e CSquare, allora l'area GetArea() può essere calcolata bypassando le dichiarazioni nella classe base. Cioè non creare affatto funzioni virtuali in una classe base, e nei metodi derivati creare un semplice metodo e basta! Allora perché abbiamo bisogno di una funzione virtuale?
È interessante vedere un esempio adeguato e logico, dove si può vedere che le funzioni virtuali forniscono qualche beneficio. Perché quello che ho visto non era logico, almeno per me. Vorrei capire lo stesso.
Questo è il campione più semplice per capire il polimorfismo. Per ottenerlo rapidamente.
Ci sono casi complicati. Lo applicherete quando ne avrete bisogno. Non ha senso preoccuparsi ora. Quando il compito è terminato, ci si deve pensare.
Per esempio, ho una classe base con tutte le possibili interfacce di lettura/scrittura. Ha anche metodi virtuali privati (2 in totale - lettura/scrittura), che collegano questa interfaccia nella classe base con le classi derivate. In realtà le classi derivate possono essere qualsiasi dove c'è lavoro con i file (file, mappatura, canali, internet). Ogni classe derivata definisce questi metodi virtuali in modo diverso, ma tutte le classi hanno la stessa interfaccia della classe base.
Il libro di testo dà questo esempio in relazione al polimorfismo:
C'è una cosa che non capisco. Se usiamo gli oggetti funzione figli per le chiamate, cioè i metodi derivati CCircle e CSquare, allora l'area GetArea() può essere calcolata bypassando le dichiarazioni nella classe base. Cioè non creare affatto funzioni virtuali nella classe base, e nei metodi derivati creare un semplice metodo e basta! Allora perché abbiamo bisogno di una funzione virtuale?
È interessante vedere un esempio adeguato e logico, dove si può vedere che le funzioni virtuali forniscono qualche beneficio. Perché quello che ho visto non era logico, almeno per me. Voglio capirlo lo stesso.
Cercherò di abbozzare un piccolo campione:
Grazie a questa struttura, non avremo bisogno di entrare nell'algoritmo di lavoro, che può essere molto grande e complesso (tutto è semplificato qui), avremo solo bisogno di aggiungere un altro discendente, m3 in enumerazione e un altro caso in switch. Cioè, abbiamo unificato i dati di input, il che eviterà la modifica nella parte principale del programma.
Naturalmente, questo sarà appropriato solo se l'algoritmo di lavoro accetta una varietà di tipi come input. Se c'è solo un tipo, tutto questo è inutile.
Il libro di testo dà questo esempio in relazione al polimorfismo:
C'è una cosa che non capisco. Se usiamo gli oggetti funzione figli per le chiamate, cioè i metodi derivati CCircle e CSquare, allora l'area GetArea() può essere calcolata bypassando le dichiarazioni nella classe base. Cioè non creare affatto funzioni virtuali in una classe base, e nei metodi derivati creare un semplice metodo e basta! Allora perché abbiamo bisogno di una funzione virtuale?
È interessante vedere un esempio adeguato e logico, dove si può vedere che le funzioni virtuali forniscono qualche beneficio. Perché quello che ho visto non era logico, almeno per me. Vorrei capire lo stesso.
Ecco un semplice esempio:
Usiamo la funzione GetArea() senza sapere per quale forma viene chiamata.Ho questo setter in una classe:
Il compilatore generalmente combatte questa assegnazione di elementi all'array ColorBySend in questo modo:
Con che cosa ha a che fare questo? È davvero necessario assegnare valori elemento per elemento? Non è possibile farlo come lista? A cosa è legato? Dopo tutto, è così che funziona il compito anche nel libro di testo...Ho questo setter in una classe:
Il compilatore giura su questa assegnazione di elementi all'array ColorBySend in generale come questa:
Con che cosa ha a che fare questo? È davvero necessario assegnare valori elemento per elemento? Non è possibile farlo come lista? Cosa c'entra? Dopo tutto, è così che si fa l'assegnazione anche nel libro di testo...è un'espressione di variabile che il compilatore non può capire. Ahimè.