begin process at 2012 05 28 16:43:14
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Agregation bidirectionnelle


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Agregation bidirectionnelle

samedi 2 avril 2005 à 15:45:21 | Agregation bidirectionnelle

0xYg3n3

Voila j'aurais voulu savori si quelqu'un sait faire une agregation bidirectionnelle
en fait le soucis c'est au niveau des includes
/***************classe A************/
"include "ClasseB.h"
classe A
{
public:
    A() { unB = new B(this); }
 private:
       B * unB;
}

/**************classe B*************/
#include "ClasseA.h"
classe B
{
B(A * a) { unA = A; }
 private:
       A * unA;
}

/********Erreur compil : aucun constructeur avec parametre pour B************/

En esperant que quelqu'un me compennes...
samedi 2 avril 2005 à 18:13:45 | Re : Agregation bidirectionnelle

steve_clamage

/***************classe A************/

class B; // déclaration anticipée, tu dis au compilo que B existe

classe A
{
public:
    A() : unB(
new B(this)) {}
 private:
       B * unB;
}

/**************classe B*************/
#include "ClasseA.h"
classe B
{
B( const A * a = 0) : unA(a) {}
 private:
       A * unA;
}
samedi 2 avril 2005 à 18:17:44 | Re : Agregation bidirectionnelle

steve_clamage

Définie A apres la déclaration de B.
samedi 2 avril 2005 à 19:25:18 | Re : Agregation bidirectionnelle

0xYg3n3

Ouais j'ai deja essayer ca

Mais il me dit que ma classe ne contient pas de constructeur avec un parametre

Merci quand meme
dimanche 3 avril 2005 à 09:51:50 | Re : Agregation bidirectionnelle

steve_clamage

C'est le second message qu'il faut lire, dans le premier j'ai oublié de définir A apres la déclaration complète de B, ca marche. Tu comprends à quoi sert la déclaration class B; ?
dimanche 3 avril 2005 à 12:14:37 | Re : Agregation bidirectionnelle

Tux


dans la classe A tu inclus la classe B et dans la B tu inclus A.
Tu fais alors une boucle    A -> B -> A ->B ......

essai de faire comme sa:

"include "ClasseB.h"
classe A
{
public:
    A() { unB = new B(this); }
 private:
       B * unB;
};

/**************classe B*************/
class A;
classe B
{
B(A * a) { unA = A; }
 private:
       A * unA;
};

et oublies pas les ; à la fin des classes.
_ _


Cette discussion est classée dans : include, classe, quelqu, agregation, bidirectionnelle


Répondre à ce message

Sujets en rapport avec ce message

Vector et classe abstraite [ par titpeste ] Bonjour,dans le cadre d'un projet C++ pour mon ecole, je dois implémenter un vector contenant des objets "abstraits".En fait, j'ai une classe Contrain convertisseur euro-yen-dollar [ par AndromedaNoBakura ] bonjour,j'essaye de faire un convertisseur de monnaies en C++ (visualC++6.0) mais il semble y avoir un probleme de definition de ma classe mere.j'ai u dll pour asp avec connection odbc [ par denis ] salut!voila mon probleme :j'ai cree une dll dans laquelle il y a une ouverture de base access au moyen d'une classe qui dérive de la classe CRecordset incompatibilité 'std' et 'friend' [ par cabieces ] CABECOUJ'ai définit une fonction amie, celle ci doit donc pouvoir accéder aux champs privée de la classe. Ceci marche trés bien sauf quand la classe u classe et agregation... [ par Clonk ] bonjour,j'utilise plusieurs classes ayant des agregations (sous Borland).Disons en gros que si on a :class personne{private:int age;public:void affich classe complex et cerf [ par franchouze ] Bonjour, j'essaye d'utiliser en C++ (gcc v3.4.1) la classe complex et les fonctions associées (dans l'exemple cerf, version complexe de erf) mais pend classe communication port série [ par totoscill ] Bonjour à tous,Je me lance dans la communication entre mon PC et un GPS via le PORT série COM1.Malheureusement je n'ai jamais travailler avec le port Makefile et classe perso [ par jeje42 ] Bonjour a toutes et a tous, Je suis assez novice en C++ et j'aurai besoin d'aide si cela est possible. J'utilise un framework specifique a une colla classe abstraite.h include [ par moueza ] cf http://membres.lycos.fr/mouezapetero/cppEsPoub.tar.gzA est classe abstraite Dans cppespoub.cpp, je ne peux inclure que la classe A, mais pas B.En g tooltip && VC++6 [ par safira ] safiraSalut!j'aimerais créer des tooltip pour des boutons qui ne se trouvent dans un toolbar. J'ai vu une classe avec CToolTipCtrl, mais je me perds u


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 5,351 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales