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 :

Obtenir la liste des membres d'une classe et leur type


Sujet :

C++

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur avant-vente
    Inscrit en
    mai 2016
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur avant-vente
    Secteur : Service public

    Informations forums :
    Inscription : mai 2016
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Obtenir la liste des membres d'une classe et leur type
    Bonjour,

    Je cherche depuis des heure comment obtenir la liste des membres d'une classe (ensuite si possible pour chaque membre son type).

    Objectif lecture rapide sur un csv et remplissage d'instances de la classe choisie. (Parser spécifique)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    class CUn
    {public:
     
    	int m_entier1=1;
    	int m_entier2=3;
     
            string jii="ERTY";
    ...
    };
    	int CUn::*ptr1 = &CUn::m_entier1;
    	int CUn::*ptr2 = &CUn::m_entier2;
    J'ai bien trouvé comment accéder par pointeur sur un membre...mais pas d'itérateur sur la liste des membres de la classe.


    Merci de votre aide.

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    juin 2010
    Messages
    7 061
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : juin 2010
    Messages : 7 061
    Points : 32 653
    Points
    32 653
    Billets dans le blog
    4
    Par défaut
    C'est impossible.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur avant-vente
    Inscrit en
    mai 2016
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur avant-vente
    Secteur : Service public

    Informations forums :
    Inscription : mai 2016
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Merci...comme ça ça m'évite de chercher plus longtemps!

  4. #4
    Membre émérite
    Avatar de Daïmanu
    Homme Profil pro
    Développeur touche à tout
    Inscrit en
    janvier 2011
    Messages
    683
    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 : 683
    Points : 2 332
    Points
    2 332
    Par défaut
    Bonjour, bienvenue sur le forum !

    Pour apporter quelques précisions, ce que tu cherches à faire s'appelle de l'introspection. C'est possible avec certains langages de programmation (par exemple Java), mais pas en C++ car il n'a pas été conçu pour.

    Tu peux te tourner vers le Design Pattern Factory (Fabrique en français), qui semble répondre à ton besoin.
    Je fais appel aux esprits de Ritchie, Kernighan, Stroustrup et Alexandrescu
    Donnez moi la force, donnez moi le courage de coder proprement !

    « Ça marche pas » n'est PAS une réponse convenable, merci de détailler le souci en fournissant l’environnement, le code source, les commandes et les messages d'erreur.

    Ce club possède également un clavardage, on y trouve quelques perles entre deux sessions d'entraides.

  5. #5
    Membre expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    juin 2011
    Messages
    724
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

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

    Informations forums :
    Inscription : juin 2011
    Messages : 724
    Points : 3 557
    Points
    3 557
    Par défaut
    L’introspection existera probablement en C++23, en attendant, ce qui se fait habituellement est une macro qui génère une structure avec des informations supplémentaire. Des bibliothèques existent, la seule qui me vient en tête est Boost.Hana avec BOOST_HANA_DEFINE_STRUCT. C'est une bibliothèque autonome, mais aussi présente dans boost.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. comment obtenir la liste des champs d'une table
    Par richard038 dans le forum SQL
    Réponses: 4
    Dernier message: 13/02/2009, 18h28
  2. Parcours des membres d'une classe
    Par Isildur dans le forum WinDev
    Réponses: 5
    Dernier message: 13/10/2006, 09h13
  3. Obtenir la liste des tables d'une table
    Par Pigoulou dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 09/02/2005, 14h12
  4. Obtenir le listing des tables d'une BDD
    Par zoubidaman dans le forum Outils
    Réponses: 1
    Dernier message: 10/11/2004, 00h17
  5. Comment obtenir la liste des paramètres d'une SP ?
    Par Le Gritche dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 14/03/2003, 16h54

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