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 :

probleme avec mes constructeurs


Sujet :

C++

  1. #1
    Membre Expert
    Avatar de gene69
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 769
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 769
    Par défaut probleme avec mes constructeurs
    Bonjour,
    J'ai une classe C dans laquelle j'ai trois constructeurs C1 C2 C3 et j'aimerai que le constructeur de C1 appelle le constructeur C3. En java je le fait avec this() j'aimerai bien savoir comment faire en C++.

    Merci.


    J'ai un piti bout de code qui s'appelle cas d'école.
    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    #include <iostream>
     
    using namespace std;
     
    class Complexe{
     
     
    	protected:
    		double x;
    		double y;
    	public:
    		Complexe();
    		Complexe(const Complexe &c);
    		Complexe(double a,double b);
    		~Complexe(){ cout <<endl<<"\tdestructeur"<<endl;};
     
    		static void afficher(const Complexe &c);
    };
     
    // *****************************************************************************
    //version 1 version standart
    /*
    Complexe::Complexe(){
    	cout <<"\tconstructeur par defaut"<<endl;
    	this->x=0.0;
    	this->y=0.0;
    }
     
    // version 2, embriqué
    */
    Complexe::Complexe(){
    	cout <<"\tconstructeur par defaut"<<endl;
    	Complexe(0,0);
    }
     
    // *****************************************************************************
    // version 1
    /* 
    Complexe::Complexe(const Complexe &c){
    	cout <<"\tconstructeur par copie"<<endl;
    	this->x = c.x;
    	this->y = c.y;
    }
    */
     
    // version 2
    Complexe::Complexe(const Complexe &c){
    	cout <<"\tconstructeur par copie"<<endl;
    	Complexe(c.x,c.y);
    }
     
    // *****************************************************************************
    //version 1 version standart
    Complexe::Complexe(double a, double b){
    	cout <<"\tconstructeur d'arrité 2"<<endl;
    	x=a;
    	y=b;
    }
     
    void Complexe::afficher(const Complexe &c){
    	cout <<"\taffiche complexe: [ "<<c.x<<" , "<<c.y<<" ]"<<endl;
    }
     
    // *****************************************************************************
    int main(void){
    	cout <<endl<<"creation de l'objet a avec le Construteur par defaut"<<endl;
    	Complexe a;
    	Complexe::afficher(a);
     
     
    	cout <<endl<<"creation de l'objet b avec le constructeur d'arrité 2 "<<endl;
    	Complexe b(2.0,3.0);
    	Complexe::afficher(b);
     
    	cout <<endl<<"creation de l'objet c avec le constructeur par copie "<<endl;
    	Complexe c(b);
    	Complexe::afficher(b);
     
     
    	cout <<endl<<"fin du programme"<<endl;
     
    	return 0;
    }

  2. #2
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

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

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Par défaut
    Tu peux pas.
    Ce sera dans C++0x

  3. #3
    Membre Expert
    Avatar de gene69
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 769
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 769
    Par défaut
    c'est quoi "C++0x" ?

    Bon je suis en train de m'en appercevoir...

  4. #4
    Expert confirmé

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Par défaut
    Citation Envoyé par gene69
    c'est quoi "C++0x" ?
    La prochaine version de C++, peut-être pour 2009.

  5. #5
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651

  6. #6
    Invité
    Invité(e)
    Par défaut
    si, c'est faisable comme un simple appel de fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    class C {
      protected:
        C();
     
      public:
        C(int);
        C(int, int);
        C(float);
    };
    disons que les constructeurs avec des parametres font des initialisationsen fonction des valeurs recues, et que le reste de l'initialisation de l'objet est commune a tous les constructeurs. tu peux toujours faire ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    C::C(int i) {
        this->C();
        //suite de l'init...
    ]

  7. #7
    Expert confirmé

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Par défaut
    Citation Envoyé par toxcct
    Tu peux toujours faire ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    C::C(int i) {
        this->C();
        //suite de l'init...
    ]
    Ça ne devrait pas passer à la compilation.

  8. #8
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    258
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 258
    Par défaut
    Citation Envoyé par toxcct
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    C::C(int i) {
        this->C();
        //suite de l'init...
    On ne peut pas : les constructeurs ne sont pas de vraies fonctions, et ne sont jamais trouvés pendant la résolution des noms (Standard, 12.1-2).

  9. #9
    Membre Expert
    Avatar de gene69
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 769
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 769
    Par défaut
    Mercis

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

Discussions similaires

  1. Problème avec mes fichiers txt
    Par salseropom dans le forum C
    Réponses: 5
    Dernier message: 18/05/2006, 15h07
  2. Probleme avec mes textbox en javascript
    Par WaZz dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 24/02/2006, 09h37
  3. Probleme avec mes formulaire html dans mes pages web
    Par foungnigue dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 28/12/2005, 19h07
  4. Problème avec mes emails sous postfix
    Par barbot dans le forum Réseau
    Réponses: 4
    Dernier message: 23/06/2004, 14h56
  5. [tomcat]j'ai un probleme avec mes URLs
    Par nouaman dans le forum Tomcat et TomEE
    Réponses: 3
    Dernier message: 27/05/2004, 00h10

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