psychospire
Messages postés42Date d'inscriptionmercredi 8 novembre 2006StatutMembreDernière intervention 9 décembre 2008
-
8 déc. 2006 à 12:47
psychospire
Messages postés42Date d'inscriptionmercredi 8 novembre 2006StatutMembreDerniè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.
psychospire
Messages postés42Date d'inscriptionmercredi 8 novembre 2006StatutMembreDernière intervention 9 décembre 20081 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?
psychospire
Messages postés42Date d'inscriptionmercredi 8 novembre 2006StatutMembreDernière intervention 9 décembre 20081 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];
}