Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Richiamare cotruttore da un altro costruttore
Forum - C/C++ - Richiamare cotruttore da un altro costruttore

Avatar
robrock80 (Normal User)
Pro


Messaggi: 143
Iscritto: 11/12/2006

Segnala al moderatore
Postato alle 20:41
Sabato, 27/03/2010
Salve a tutti. Come faccio a richiamare da un costruttore di una classe un altro costruttore della stessa classe


Nel mondo ci sono 10 tipi di persone: quelle che capiscono il binario e quelle che non lo capiscono
PM Quote
Avatar
GuglielmoS (Ex-Member)
Pro


Messaggi: 114
Iscritto: 27/11/2009

Segnala al moderatore
Postato alle 21:04
Sabato, 27/03/2010
Testo quotato

Postato originariamente da robrock80:

Salve a tutti. Come faccio a richiamare da un costruttore di una classe un altro costruttore della stessa classe


Se non mi confondo con java, basta richiamare this() passandogli i parametri del costruttore desiderato.


La disumanità del computer sta nel fatto che, una volta programmato e messo in funzione, si comporta in maniera perfettamente onesta.
--Isaac Asimov
PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 5475
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 21:15
Sabato, 27/03/2010
Hai avuto qualche problema nel farlo?


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
PM Quote
Avatar
robrock80 (Normal User)
Pro


Messaggi: 143
Iscritto: 11/12/2006

Segnala al moderatore
Postato alle 3:53
Domenica, 28/03/2010
Avevo provato così, ma non ha funzionato (anche mettendo il this alla prima riga)

Codice sorgente - presumibilmente Plain Text

  1. KeyListener::KeyListener(){
  2.         fileName = getFilePathOfCurrentProcess();
  3.         fileName = addTCHARStringToTCHARString(fileName, ".log");
  4.         this(fileName);
  5.         free(fileName);
  6. }
  7.  
  8.  
  9. KeyListener::KeyListener(char* fileNameParam){
  10.         keyListenerRunning = false;
  11.         shiftIsPressed = 0;
  12.         altCtrlIsPressed = 0;
  13.         capsLockIsHold = 0;
  14.         outLog = NULL;
  15.         listenThread = NULL;
  16.         fileName = getCharStringCopy(fileNameParam);
  17. }



Nel mondo ci sono 10 tipi di persone: quelle che capiscono il binario e quelle che non lo capiscono
PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 5475
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 11:00
Domenica, 28/03/2010
Prova così

Codice sorgente - presumibilmente C/C++

  1. class KeyListener
  2. {
  3. private:
  4.     void Init(char *fileNameParam);
  5.     ...
  6. public:
  7.     KeyListener();
  8.     KeyListener(char *fileNameParam);
  9.     ...
  10. };
  11.  
  12. void KeyListener::Init(char *fileNameParam)
  13. {
  14.     keyListenerRunning = false;
  15.     shiftIsPressed = 0;
  16.     altCtrlIsPressed = 0;
  17.     capsLockIsHold = 0;
  18.     outLog = NULL;
  19.     listenThread = NULL;
  20.     fileName = getCharStringCopy(fileNameParam);
  21. }
  22.  
  23. KeyListener::KeyListener(char *fileNameParam)
  24. {
  25.     Init(fileNameParam);
  26. }
  27.  
  28. KeyListener::KeyListener()
  29. {
  30.     fileName = getFilePathOfCurrentProcess();
  31.     fileName = addTCHARStringToTCHARString(fileName, ".log");
  32.     Init(filename);
  33.     free(fileName);
  34. }



Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
PM Quote
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2763
Iscritto: 21/09/2007

Segnala al moderatore
Postato alle 7:33
Martedì, 30/03/2010

boh, non vorrei dirlo, ma a me sembra un keylogger

ovviamente tutto IMHO :D


Ingegnere Informatico
https://ldlagency.it
PM Quote