Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Typedef friend
Forum - C/C++ - Typedef friend

Avatar
robrock80 (Normal User)
Pro


Messaggi: 143
Iscritto: 11/12/2006

Segnala al moderatore
Postato alle 22:55
Martedì, 30/03/2010
Esiste un modo per rendere  friend di una classe un typedef?
Nel mio caso

Codice sorgente - presumibilmente C++

  1. template<class X>
  2.         struct _Command {
  3.                 char*   id;
  4.                 char*   description;
  5.                 char    messages[10][100];
  6.                 bool    (X::*function)();
  7.         };
  8.  
  9. Class Server {
  10. public:
  11. typedef _Command<Server>Command;
  12. }




Come faccio a rendere Command friend della classe Server?

PM Quote
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2765
Iscritto: 21/09/2007

Segnala al moderatore
Postato alle 0:50
Mercoledì, 31/03/2010
non ha senso questa richiesta, un typedef è semplicemente una sostituzione di tipo. Non vedo il senso di metterla dentro una classe...

Un esempio banale potrebbe essere:

Codice sorgente - presumibilmente C/C++

  1. typedef int intero;
  2.  
  3. ...
  4.  
  5. intero a = 1;



sempre alle prese con quel keylogger?

Ultima modifica effettuata da HeDo il 31/03/2010 alle 0:51
PM Quote
Avatar
robrock80 (Normal User)
Pro


Messaggi: 143
Iscritto: 11/12/2006

Segnala al moderatore
Postato alle 12:59
Mercoledì, 31/03/2010
Con il keylogger ho finito ora stò riscrivendo un server in C++.
Volevo creare un comando generico da inserire nella mia libreria e da specializzare volta per volta. Alla fine ho applicato il pattern Command

Codice sorgente - presumibilmente C++

  1. template<class Type>
  2.         class _Command{
  3.                 _Command(Type&);
  4.                 public :
  5.                         virtual bool execute();
  6.                 protected:
  7.                         Type&   executor;
  8.                         char*   id;
  9.                         char*   description;
  10.                         char    messages[10][100];
  11.  
  12.         };
  13.  
  14.         template <class Type>
  15.         _Command<Type>::_Command(Type& executor) {
  16.                 this->executor = executor;
  17.         }
  18.  
  19. class MyServer{
  20.                 public:
  21.                         class Command : public _Command<MyServer>{
  22.                                 public:
  23.                                         Command(MyServer);
  24.                         };
  25. }


PM Quote