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 :

problème avec les constructeurs


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Homme Profil pro
    post-doc
    Inscrit en
    Décembre 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : post-doc
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 8
    Par défaut problème avec les constructeurs
    Bonjour,

    Je commence sur un nouveau post-doc, je dois travailler sur un code déja existant programé initialement e C++. Seulement mes connaissances sont trés limités en C++

    Est ce que queqlqu'un peut me dérouler ce petit programe et notament l'instruction Chameleon() {};. Merci d'avance:

    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
    26
    27
    28
    #ifndef CHAMELEON_H__
    #define CHAMELEON_H__
     
    #include <string>
     
    class Chameleon {
    public:
    	Chameleon() {};
    	explicit Chameleon(const std::string&);
    	explicit Chameleon(double);
    	explicit Chameleon(const char*);
     
    	Chameleon(const Chameleon&);
    	Chameleon& operator=(Chameleon const&);
     
    	Chameleon& operator=(double);
    	Chameleon& operator=(std::string const&);
     
    public:
    	operator std::string() const;
    	operator double     () const;
    	operator int        () const;
    	operator bool		() const;
    private:
    		std::string value_;
    };
     
    #endif

  2. #2
    Membre régulier
    Homme Profil pro
    post-doc
    Inscrit en
    Décembre 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : post-doc
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 8
    Par défaut Problème avec les constructeurs
    Je pense avoir compris, est ce que qlqun peut me confirmer ça ?

    la ligne de commande Chameleon() {}; n'est rien d'autre qu'un constructeur par défaut qui ne prend absolument rien

    pour les autres constructeurs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    explicit Chameleon(const std::string&); 
    explicit Chameleon(double);
    explicit Chameleon(const char*);
    explicit interdit juste le transtypage de manière implicite (ce qui est prédéfinit dans le complilateur) mais je ne comprend pas a quoi sert le symbole & dans (const std::string&) ni l'étoile dans (const char*)pour le reste je ne sais toujours pas. j'ai besoin de votre d'aide

  3. #3
    Membre chevronné

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    426
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 426
    Par défaut
    Salut,

    Citation Envoyé par bae84 Voir le message
    la ligne de commande Chameleon() {}; n'est rien d'autre qu'un constructeur par défaut qui ne prend absolument rien
    En effet

    Citation Envoyé par bae84 Voir le message
    mais je ne comprend pas a quoi sert le symbole & dans (const std::string&) ni l'étoile dans (const char*)
    Pour std::string& c'est une transmission par référence ( Voir la FAQ ici )
    Et const char* l'étoile * définit un pointeur ( ici un pointeur sur char constant ( c'est le char qui est constant, pas le pointeur ) )

    PS : Un bon moyen de débuter en C++ est cette lecture ( dispo gratos sur ce site ) en français ou en anglais selon ta convenance : Thinking in C++

  4. #4
    Membre régulier
    Homme Profil pro
    post-doc
    Inscrit en
    Décembre 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : post-doc
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 8
    Par défaut
    Merci pour le coup de main,

    Je vais faire d'autre recherche pour mieux comprendre la déclaration des operateurs ainsi que leurs constructeurs

    Cordialement,
    bae84

Discussions similaires

  1. Problème avec les fonctions
    Par jvachez dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 13/01/2004, 12h06
  2. [Postgresql]Problème avec les fonctions ...
    Par fet dans le forum Requêtes
    Réponses: 4
    Dernier message: 02/10/2003, 09h04
  3. Problème avec les apostrophes
    Par misterbillyboy dans le forum Requêtes
    Réponses: 2
    Dernier message: 15/07/2003, 16h39
  4. Problème avec les fichiers .JPG
    Par cprogil dans le forum Langage
    Réponses: 5
    Dernier message: 10/06/2003, 15h44
  5. []Problème avec les formulaires Outlook
    Par Invité dans le forum Outlook
    Réponses: 6
    Dernier message: 05/12/2002, 09h59

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