Problème méthode

Résolu
psychospire Messages postés 42 Date d'inscription mercredi 8 novembre 2006 Statut Membre Dernière intervention 9 décembre 2008 - 8 déc. 2006 à 12:47
psychospire Messages postés 42 Date d'inscription mercredi 8 novembre 2006 Statut Membre Dernière intervention 9 décembre 2008 - 14 déc. 2006 à 09:31
Bonjour à tous je vous explique vite fait mon probleme : j'effectue un projet de bataille navale contenant 3 classes : une classe CGrille, une classe CBateau et une classe CFlotte.
Ma classe CBateau contient des bateaux sous forme de tableaux [n][3] dans lesquels sont entrés leurs coordonnées. Ma classe CFlotte contient des CBateaux dans des tableaux [p] (on a donc des tableaux [n][3] dans des tableaux [p]). J'ai créé une méthode Ajouter(...) dans CBateau qui me permet de remplir les tableaux [n][3] de coordonnées. Etant donné que les cases de mon tableau [p] sont des CBateau, j'estime que je devrais pouvoir faire :

CFlotte Flotte1;

    (Flotte1.ElementFlotte(i)).Ajouter(...);

(    ElementFlotte(i) me permet de retourner la ième case de Flotte 1   )

Cela devrais donc me remplir un tableau[n][3] de coordonnées directement dans la case i de la Flotte1. Malheureusement ca ne marche pas et je ne comprend pas pourquoi. Ca marche si je fais ca :

CBateau Bateau1;
Bateau1.Ajouter(...);

alors que je ne voies pas ou est la différence avec le 1er code étant donné que Flotte1.ElementFlotte(i) est censé être un CBateau.

Voila si quelqu'un à compris quelquechose à mon histoire, une aide aussi infime soit-elle me serait vraiment utile. Merci d'avance pour vos réponses.

6 réponses

psychospire Messages postés 42 Date d'inscription mercredi 8 novembre 2006 Statut Membre Dernière intervention 9 décembre 2008 1
14 déc. 2006 à 09:31
C'est bon j'ai la solution de mon problème il fallait juste mettre CBateau& ElementFlotte(int UneLigne); et ca marche bien.
3
cs_Joky Messages postés 1787 Date d'inscription lundi 22 novembre 2004 Statut Membre Dernière intervention 31 janvier 2009 2
8 déc. 2006 à 13:14
En tout cas moi j'ai rien compris.
Upload ton code sur un serveur perso ;)
ULARGE_INTEGERJokyQi=QI("Joky"
0
psychospire Messages postés 42 Date d'inscription mercredi 8 novembre 2006 Statut Membre Dernière intervention 9 décembre 2008 1
8 déc. 2006 à 20:14
Lol  ben d'une je ne sais pas comment on fait et de deux le code commence a etre long donc je sais pas si tu comprendrais mieux.. Qu'est-ce que t'as pas compris?
0
cs_Joky Messages postés 1787 Date d'inscription lundi 22 novembre 2004 Statut Membre Dernière intervention 31 janvier 2009 2
9 déc. 2006 à 02:58
Bé t'as qu'à déjà montrer la déclaration de tes classes, et la méthode ajouter

ULARGE_INTEGERJokyQi=QI("Joky"
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
psychospire Messages postés 42 Date d'inscription mercredi 8 novembre 2006 Statut Membre Dernière intervention 9 décembre 2008 1
9 déc. 2006 à 12:30
Bon j'ai pas le programme sur moi mais j'vais essayer de te faire un résumé :

#define T 10
classe CBateau
{
public :   
   void Ajouter (int c1, int c2, int c3, int c4, int TailleBateau);

// c1 et c2 forment la ligne et la colonne d'une extremité du bateau, de meme
// pour c3 et c4

protected :
   mBateau [T] [2];
}

void CBateau : : Ajouter (int c1, int c2, int c3, int c4)
{   //On va dire que le bateau fait 2 cases pour simplifier
   mBateau[0][0]=c1;
   mBateau[0][1]=c2;
   mBateau[1][0]=c3;
   mBateau[1][1]=c4;
}

#define P 10
class CFlotte
{
   public :
      CBateau ElementFlotte(int UneLigne);
   protected : 
      CBateau mFlotte [P];
}

CBateau CFlotte : : ElementFlotte(int UneLigne)
{
   return mFlotte [UneLigne] ;
}

//Dans le main :

int c1, c2, c3,c4;
CFlotte Flotte1;

cin<<c1<<c2<<c3<<c4;

//Je veux ajouter les 4 coordonnées dans un tableau et mettre ce tableau la
//1ere ligne de Flotte1

(Flotte1.ElementFlotte(0)).Ajouter(c1,c2,c3,c4);

Et la Ajouter marche tres bien ca me met bien les coordonnées dans mBateau, mais il n'y a rien dans (Flotte1.ElementFlotte(0)).

Voila ya tout. Si tu trouve un truc qui cloche merci d'avance

   
0
psychospire Messages postés 42 Date d'inscription mercredi 8 novembre 2006 Statut Membre Dernière intervention 9 décembre 2008 1
12 déc. 2006 à 12:48
Personne n'aurait une idée?? Meme une petite piste me serait utile, merci.
0
Rejoignez-nous