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 :

Agregation ou composition de classe ?


Sujet :

C++

  1. #1
    Membre régulier
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Janvier 2015
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2015
    Messages : 7
    Par défaut Agregation ou composition de classe ?
    Bonjour,
    Je voudrais faire le lien entre la méthode de la classe personne vers la classe Compte mais la je suis...

    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
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    class personne
    {
      public: void infos()
                {
                 cout<<"M,Mlle,Mme : ";
                 cin>>sexe;
                 cout<<"Nom : ";
                 cin>>nom;
    			 cout<<"prenom : ";
    			 cin>>prenom;
                 cout<<"Addresse : ";
                 cin>>addresse;
                 cout<<"date de naissance jj/mm/an : ";
                 cin>>date;
                 cout<<"Votre situation familliale : ";
                 cin>>situation;
                 if (sexe=="M" || "m")
                 {
                 }
                 else
                 {
                         if (sexe=="Mme" || "mme")
                         {
                         cout<<"Nom de jeune fille : ";
                         cin>>nom_jeune_fille;
                         }
                         else
                         {}
                 }
                }     
    };
    class compte
    {
            public: void infopers()
            {
                 if ((sexe=="M" || "m"))
                 {
                 cout<<"Titulaire du compte : "<<sexe<<". "<<nom<<" "<<prenom<<" Nee "<<nom_jeune_fille<<endl;
                     cout<<" \n";
                 }
                 else
                 {
                     if ((sexe=="Mme" || "mme") && (situation=="marier"))
                     {
                      cout<<"Titulaire du compte : "<<sexe<<". "<<nom<<" "<<prenom<<endl;
                 cout<<" \n";
                     }
                     else
                     {
                     }
                 }
                 cout<<"Addresse : "<<addresse<<endl;
                 cout<<" \n";
                 cout<<"Situation familliale : "<<situation<<endl;
                 cout<<" \n";
                 cout<<"Date de naissance : "<<date<<endl;
                 cout<<" \n";
            }
            public: void afficherinfo()
                {
                 cout<<"numero du compte : "<<numero<<endl;
                 cout<<" \n";
                 if ((sexe=="M" || "m"))
                 {
                 cout<<"Titulaire du compte : "<<sexe<<". "<<nom<<" "<<prenom<<" Nee "<<nom_jeune_fille<<endl;
                     cout<<" \n";
     
                 }
                 else
                 {
                     if ((sexe=="Mme" || "mme") && (situation=="marier"))
                     {
                      cout<<"Titulaire du compte : "<<sexe<<". "<<nom<<" "<<prenom<<endl;
                 cout<<" \n";
                     }
                     else
                     {
                     }
                 }
                 cout<<"Addresse : "<<addresse<<endl;
                 cout<<" \n";
                 cout<<"Situation familliale : "<<situation<<endl;
                 cout<<" \n";
                 cout<<"Solde du compte : "<<solde<<endl;
                 cout<<" \n";
                }
            public: void crediter()
                {
                 int credit;
                 cout<<"solde a deposer : ";
                 cin>>credit;
                 solde=solde+credit;
                }
            public: void debiter()
                {
                 int debit;
                 cout<<"solde a retirer ? ";
                 cin>>debit;
                 solde=solde-debit;
                }
    };

  2. #2
    Rédacteur/Modérateur


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

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 147
    Billets dans le blog
    4
    Par défaut
    Bonjour,

    kamoulox + wall of code =

    C'est quoi le problème en clair ? parce que
    faire le lien entre la méthode de la classe personne vers la classe Compte
    ça veut pas dire grand chose..
    Ton code n'a aucune chance de ne serait-ce que compiler, t'utilises des variables jamais déclarées.
    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
    Membre régulier
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Janvier 2015
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2015
    Messages : 7
    Par défaut
    Mon problème en claire c'est que je veux inclure les variables de la classe personne dans la classe compte dans le PP sans autant les déclarés a l’extérieure de ses deux classe..
    et pour les variables je les ai déclaré avant ses classe, vue que j'utilise que des void..

  4. #4
    Membre émérite
    Avatar de Daïmanu
    Homme Profil pro
    Développeur touche à tout
    Inscrit en
    Janvier 2011
    Messages
    735
    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 : 735
    Par défaut
    Citation Envoyé par saidhamga Voir le message
    Mon problème en claire c'est que je veux inclure les variables de la classe personne dans la classe compte dans le PP sans autant les déclarés a l’extérieure de ses deux classe..
    et pour les variables je les ai déclaré avant ses classe, vue que j'utilise que des void..
    Quel est l’intérêt de faire des classes si c'est pour mettre les variables à l'extérieur ?

    Pour ta question initiale :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    class Compte {
        void ajouter(int montant) {
            m_solde = m_solde + montant;
        }
        int m_solde;
        //le contenu du compte
    };
    class Personne {
        Compte m_compte;
        void crediter(int montant) {
            m_compte.ajouter(montant);
        }
    };

  5. #5
    Membre régulier
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Janvier 2015
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2015
    Messages : 7
    Par défaut
    Merci Daïmanu , c'est ce qui me manquer et la je peut faire de même pour le reste..

  6. #6
    Membre chevronné Avatar de pascalCH
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Juillet 2006
    Messages
    188
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 188
    Par défaut
    Citation Envoyé par saidhamga Voir le message
    Bonjour,
    Je voudrais faire le lien entre la méthode de la classe personne vers la classe Compte mais la je suis...
    Un peu de restructuration est nécessaire ...

    le code d'affichage du titulaire du compte n'a rien à faire dans la classe compte.
    le titulaire du compte ayant une vie propre en dehors de son compte, il n'est que référencé (via un pointeur) par la classe compte et devient du coup, un simple attribut du compte.

    un petit diagramme de classe pour t'aiguiller...

    Nom : ClassDiagram1.png
Affichages : 289
Taille : 23,6 Ko

    Comme tu es en C++, pense à mettre un constructeur dans chacune des classes, et INITIALISE toutes les variables de classes dans ces constructeurs.


    pour les variables je les ai déclaré avant ses classe, vue que j'utilise que des void..
    Arg !!! Article 1 : les variables globales .. ça n'existe pas !!! (enfin c'est un principe dont il faut partir et n'y déroger que quand toutes les autres solutions ont échouées ... )

  7. #7
    Membre régulier
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Janvier 2015
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2015
    Messages : 7
    Par défaut
    Très instructif comme concept je te remercie de ton intérêt pascalCH !

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

Discussions similaires

  1. Composition à la classe elle-même
    Par kadilldév dans le forum Autres Diagrammes
    Réponses: 1
    Dernier message: 09/03/2014, 18h14
  2. Réponses: 2
    Dernier message: 26/02/2012, 18h11
  3. Diagramme UML et composition de classes !
    Par guipe dans le forum Langage
    Réponses: 19
    Dernier message: 06/12/2009, 14h49
  4. Agregation ou Composition ?
    Par flatron dans le forum Diagrammes de Classes
    Réponses: 2
    Dernier message: 13/03/2007, 23h10
  5. composition de classe
    Par jibb2b dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 05/01/2007, 00h16

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