IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

transformer un string en code


Sujet :

C++

  1. #1
    Membre �clair�
    Homme Profil pro
    �tudiant
    Inscrit en
    Octobre 2014
    Messages
    521
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 37
    Localisation : France, H�rault (Languedoc Roussillon)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Octobre 2014
    Messages : 521
    Par d�faut transformer un string en code
    Bonjour.

    Je voudrais savoir si, selon vous, transformer un string ou char en code source est possible, et si oui, comment faire ?

    voici un exemple pour illustrer ma question :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    std::string mot ( "Object_Supersonic" ) ;
     
    Objet_supersonic  *objetTest = new 'mot' ;
     
    //ou encore, grâce a l'héritage :
     
    Objet = new 'mot' ;
    bien sur, cela ne fonctionne pas, mais l'id�e est l� : pouvoir cr�er depuis un string, ou mot ( dans mon cas lu depuis le disque dur ) un objet h�rit� particulier ...

    Merci si vous pouvez m'aider

  2. #2
    Expert �minent

    Femme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    D�tails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (�le de France)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par d�faut
    C'est rigoureusement impossible.
    Le code source est compil� en binaire bien avant l'ex�cution.

    Par contre, tu peux impl�menter un interpr�teur.

    Dans ton cas plus pr�cis, ca s'appelle factory.

    Tu �cris une fonction Bidule* allocateBidule(std::string const&) qui se d�brouille avec son argument.

  3. #3
    Membre �clair�
    Homme Profil pro
    �tudiant
    Inscrit en
    Octobre 2014
    Messages
    521
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 37
    Localisation : France, H�rault (Languedoc Roussillon)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Octobre 2014
    Messages : 521
    Par d�faut
    un interpr�teur ?

    cela reviendrait-it pas a faire ca, par ex ? :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
     
     
    if ( mot == "Object_Supersonic" )
    {
        monObject = Object_Supersonic ;
    }
    Si non, qu'est-ce que c'est ?

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    1 415
    D�tails du profil
    Informations personnelles :
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 415
    Par d�faut
    Leternel a raison, il te faut une factory. Tout d'abord, il faut bien garder � l'id�e que tous les objets cr��s via la factory impl�menterons la m�me interface. L'id�e est simplement d'avoir un code qui � a un nom associe un type, par exemple:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    struct Interface {
    virtual void method() = 0;
    }; 
     
    class MessageStart : public Interface {
     public:
      MessageStart() {}
      virtual void method() { std::cout << "I am a start message !" << std::endl; }
    };
     
    class MessageStop : public Interface {
     public:
      MessageStop() {}
      virtual void method() { std::cout << "I am an end message !" << std::endl; }
    };
     
    Interface* newMessage(std::string const& name) {
      if (name == "start")
        return new MessageStart;
      else if (name == "stop")
        return new MessagStop;
     
      return nullptr;
    }
    Sinon, j'ai montr� une technique sur ce forum pour r�pertorier automatiquement les classes disponibles pour une interface donn�es, on peut faire comme �a.

  5. #5
    Membre �clair�
    Homme Profil pro
    �tudiant
    Inscrit en
    Octobre 2014
    Messages
    521
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 37
    Localisation : France, H�rault (Languedoc Roussillon)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Octobre 2014
    Messages : 521
    Par d�faut
    Ok, merci pour vos r�ponses...Je vais potasser tout ca...
    J'ai une autre question, mais je vais cr�er un nouveau post, vu que ce n'est plus le m�me sujet.

    Merci encore

  6. #6
    Membre �m�rite
    Avatar de Da�manu
    Homme Profil pro
    D�veloppeur touche � tout
    Inscrit en
    Janvier 2011
    Messages
    736
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : D�veloppeur touche � tout

    Informations forums :
    Inscription : Janvier 2011
    Messages : 736
    Par d�faut
    Bonjour.

    Une autre possibilit�, vu que tu n'as pas pr�cis� un langage en particulier, serait d'utiliser un langage interpr�t� comme Lua ou Python.

    Maintenant je sais pas si cela correspond exactement � tes besoins.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [Excel] Intrepr�ter du string en code
    Par Invit� dans le forum Macros et VBA Excel
    R�ponses: 2
    Dernier message: 12/01/2006, 10h05
  2. Transformer une string en un dictionnaire
    Par nabix dans le forum G�n�ral Python
    R�ponses: 5
    Dernier message: 24/11/2005, 17h34
  3. [Date] Comment transformer mon String en date avec newDate?
    Par Devil666 dans le forum Collection et Stream
    R�ponses: 2
    Dernier message: 10/06/2005, 16h50
  4. [XSLT] Transformer un String contenant du xml
    Par VinceFromBcn dans le forum Format d'�change (XML, JSON...)
    R�ponses: 5
    Dernier message: 07/07/2004, 12h42
  5. Transformer un String en InputStream
    Par felix79 dans le forum Entr�e/Sortie
    R�ponses: 5
    Dernier message: 07/07/2004, 12h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo