Bonjour,

J'ai un problème en ce qui concerne la communication entre classes.

Je viens de commencer dans l'orienté objet et j'aimerais réaliser un programme qui comporte deux classes.

Mon problème est le suivant :

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
class Premier
{
     constructeurs;
     destructeur;
     méthodes;
     attribut 1;
     attribut 2;
}
 
class Seconde
{
    constructeurs;
    destructeur;
    méthodes;
    attribut 3;
    attribut 4;
}
Ce que j'aimerais faire c'est créer un objet de la classe "Premier" dans mon main, ce qui appelera mon constructeur. En fonction des valeurs passées en paramètre à ce constructeur, j'aimerais alors pouvoir agir sur un objet de la classe "Seconde" en modifiant l'attribut 3.

je ne sais pas comment faire cela...
j'ai essayé la chose suivante :

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
class Premier
{
     constructeurs;
     destructeur;
     méthodes;
     attribut 1;
     attribut 2;
     Seconde objet2;
}
 
dans mon main():
{
     Premier objet1(param.)
     cout<<objet1.objet2.attribut3;
}
Le problème est que ceci me renvoie vraissemblablement une adresse et non le contenu de mon attribut. Selon moi, cet attribut est effectivement sans valeur car j'ai vérifié qu'à aucun moment mon programme n'entre dans le constructeur de mon objet2.

Pour moi, c'est dans le constructeur de la classe Premier qu'il faudrait ajouter quelque chose pour forcer l'appel au constructeur de l'objet 2.


je suis conscient que c'est pas facilement compréhensible la façon dont je viens d'expliquer les choses, et au besoin, je me montrerais plus explicite.

Merci d'avance.