Torna indietro   Hardware Upgrade Forum > Software > Programmazione

DJI Lito 1 e Lito X1 recensione: i nuovi droni per principianti che non si fanno mancare nulla
DJI Lito 1 e Lito X1 recensione: i nuovi droni per principianti che non si fanno mancare nulla
DJI ha appena ufficializzato la serie Lito, la sua nuova gamma di droni entry-level destinata a chi si avvicina per la prima volta alla fotografia aerea. Al centro dell'annuncio ci sono due modelli ben distinti per fascia di prezzo e specifiche tecniche: DJI Lito 1 e DJI Lito X1. Entrambi si collocano sotto la soglia regolamentare dei 249 grammi, che permette di volare con requisiti burocratici più semplici rispetto ai droni più pesanti.
Sony World Photography Awards 2026: i premiati, anche italiani, il punto sulla fotografia di oggi
Sony World Photography Awards 2026: i premiati, anche italiani, il punto sulla fotografia di oggi
Siamo stati a Londra per la premiazione dei Sony World Photography Awards 2026, l'evento a tema fotografia più prestigioso. Fra sorprese e novità, ne approfittiamo per fare il punto sulla fotografia contemporanea, in cui la didascalia è sempre più necessaria a cogliere il senso della quasi totalità degli scatti.
Una settimana con Hyundai Ioniq 5 N-Line: diverte e convince
Una settimana con Hyundai Ioniq 5 N-Line: diverte e convince
L'elettrica di casa Hyundai propone una versione AWD con estetica derivata dalla famiglia N. L'abbiamo provata per diversi giorni, per scoprire tutti i dettagli e la vera autonomia in autostrada
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 23-07-2007, 13:40   #1
giulioballio
Member
 
L'Avatar di giulioballio
 
Iscritto dal: Oct 2004
Città: goettingen
Messaggi: 275
[C++] ereditarietà

Ho un dubbio abbastanza specifico sull'ereditarietà. In main.cpp definisco:

class Child: public Parent
{
public:
void eval(real *values, const real *x) {anything}
};

il cui unico scopo è di definire eval che era virtual in Parent. Ora sempre in main.ccp scrivo:

Child obj;
Solver pde(obj);

avendo definito in sover.cpp il seguente costruttore:

Solver::Solver(Parent& input)
{
input.eval(values,x);
}

ottengo un errore perché eval è visto come quella del genitore, cioè come virtual. D'altro canto non posso chiedere un Child& come argomento perché Solver non sa della sua esistenza.. potrei rimediare mettendoci una pezza, tuttavia sono interessato a capire come è meglio che io risolva la situazione secondo la logica di C++. Grazie!
__________________
La prima necessità dell'uomo è il superfluo.

Albert Einstein
giulioballio è offline   Rispondi citando il messaggio o parte di esso
Old 23-07-2007, 14:29   #2
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
virtual rimane nella gerarchia anche se non viene più esplicitato.
Ma quella chiamata, proprio perché usi virtual dovrebbe riferirsi alla eval di Child...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 23-07-2007, 14:44   #3
giulioballio
Member
 
L'Avatar di giulioballio
 
Iscritto dal: Oct 2004
Città: goettingen
Messaggi: 275
Quote:
Originariamente inviato da cionci Guarda i messaggi
virtual rimane nella gerarchia anche se non viene più esplicitato.
Ma quella chiamata, proprio perché usi virtual dovrebbe riferirsi alla eval di Child...
purtroppo nelle librerie che sto usando virtual è definito nell'header di Parent, ma poi in parent.cpp è definito come il solo messaggio di errore che dice che va overloaded.. può essere questo che incasina il tutto?
__________________
La prima necessità dell'uomo è il superfluo.

Albert Einstein
giulioballio è offline   Rispondi citando il messaggio o parte di esso
Old 23-07-2007, 19:20   #4
giulioballio
Member
 
L'Avatar di giulioballio
 
Iscritto dal: Oct 2004
Città: goettingen
Messaggi: 275
Quote:
Originariamente inviato da cionci Guarda i messaggi
virtual rimane nella gerarchia anche se non viene più esplicitato.
Ma quella chiamata, proprio perché usi virtual dovrebbe riferirsi alla eval di Child...
parent.h contiene:

virtual void eval (real *values, const real *x) const
virtual real eval (const real *x) const

parent.cpp tuttavia definisce i metodi come:

void Parent::eval(real* values, const real* x) const
{
// Try scalar function if not overloaded
values[0] = eval(x);
}

real Parent::eval(const real* x) const
{
error("Missing eval() for user-defined function (must be overloaded).");
return 0.0;
}

potrebbe essere questo il problema? Il compilatore non dovrebbe vedere cmq i metodi come virtual e chiamare quelli di Child?
__________________
La prima necessità dell'uomo è il superfluo.

Albert Einstein
giulioballio è offline   Rispondi citando il messaggio o parte di esso
Old 23-07-2007, 19:29   #5
giulioballio
Member
 
L'Avatar di giulioballio
 
Iscritto dal: Oct 2004
Città: goettingen
Messaggi: 275
sono un cretino avevo ignorato la dichiarazione const scusate
__________________
La prima necessità dell'uomo è il superfluo.

Albert Einstein
giulioballio è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


DJI Lito 1 e Lito X1 recensione: i nuovi droni per principianti che non si fanno mancare nulla DJI Lito 1 e Lito X1 recensione: i nuovi droni p...
Sony World Photography Awards 2026: i premiati, anche italiani, il punto sulla fotografia di oggi Sony World Photography Awards 2026: i premiati, ...
Una settimana con Hyundai Ioniq 5 N-Line: diverte e convince Una settimana con Hyundai Ioniq 5 N-Line: divert...
Recensione OPPO Find X9 Ultra: è lui il cameraphone definitivo Recensione OPPO Find X9 Ultra: è lui il c...
Ecovacs Deebot X12 OmniCyclone: lava grazie a FocusJet Ecovacs Deebot X12 OmniCyclone: lava grazie a Fo...
ESA e Northrop Grumman confermano la cor...
Il telescopio spaziale Nancy Grace Roman...
iPhone Ultra, periodo di lancio conferma...
Un anno fa debuttava Clair Obscur:&...
Tutte le offerte sugli smartphone ora pi...
Tutte le offerte sui TV ora su Amazon: u...
Xbox Game Pass sarà disponibile a...
La serie HONOR 600 avrà presto un...
Mova Viax 250 in prova: il robot tagliae...
Fat e-bike per tutti: sconti Engwe, pi&u...
Google conferma l'arrivo della nuova ver...
Apple ha trovato il modo per abbassare i...
OpenAI vuole tassare l'AI per dare a tut...
MacBook Air 15'' con chip M4 a 1.199€ su...
Samsung Galaxy S25 Edge 12/512GB a 854€ ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 19:49.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v