immaginavo di non essere stato chiaro, ci riprovo
La classe esposta TMyThread è derivata da TserverClientThread; a sua volta TserverClientThread è derivata dalla classe TThread.
Da quanto ne ho capito e ricordo, significa che la classe TMyThread eredita tutti i metodi delle classi TserverClientThread e TThread.
A questo punto chiedo: i metodi dichiarati sopra, sono già presenti nelle classi padre ?
C'è modo di saperlo senza aprire la classe TThread ?
In definitiva: c'è modo di sapere se ad esempio il metodo ClientExecute() è già implementato nella classe TThread oppure è una aggiunta alla nuova classe TMyThread ?
Credo che in gergo si dica overloading o similare; grazie
No. Non eredita tutti i metodi bensì solo quelli dichiarati public o protected, quelli privati no.Da quanto ne ho capito e ricordo, significa che la classe TMyThread eredita tutti i metodi delle classi TserverClientThread e TThread
Puoi provare a chiamare quei metodi senza che tu li abbia implementati e se non sono già stati implementatiA questo punto chiedo: i metodi dichiarati sopra, sono già presenti nelle classi padre ?
C'è modo di saperlo senza aprire la classe TThread ?
allora otterrai un errore in compilazione.
Credo che in gergo si dica overloading o similare
In realtà si dice overriding. Comunque ti consiglio una bella ripassata su questi concetti base della OOP.
Ni, in realtà li eredita, ma non le sono direttamente accessibili (un metodo public o protected della classe base richiamato tramite la classe derivata può tranquillamente chiamare un metodo private della classe base).
In alternativa, da dentro uno dei metodi della classe derivata puoi richiamare un metodo della classe base con la sintassi ClasseBase::Metodo, se il metodo non esiste ottieni un errore di compilazione.Puoi provare a chiamare quei metodi senza che tu li abbia implementati e se non sono già stati implementati
allora otterrai un errore in compilazione.
Amaro C++, il gusto pieno dell'undefined behavior.
una ripassata è obbligatoria
Sto notando che un conto sono le classi java che ti insegnano e implementi all'uni, altro è quando ti ritrovi a lavorare con librerie di classi belle e pronte e devi derivarne alcune per aggiungere caratteristiche adatte ai tuoi scopi. Sto provando ad unire la classe Thread con la classe Tserversocket allo scopo di creare un server che istanzi automaticamente Thread nel momento in cui un lcient si connette, sembra tutto molto complicato.