Droit dans la programmation objet - C++ - Programmation
Marsh Posté le 07-05-2004 à 20:05:13
Je pense que le probleme est que RSerpent renvoi un objet serpent au lieu d'un pointeur vers LE serpent en question , plus que quelque test et je resouderai le pb tt seul
Marsh Posté le 07-05-2004 à 20:10:19
La solution etait bien ça désolé de vous avoir dérangé pour rien !!
Marsh Posté le 10-05-2004 à 12:43:34
utilises une référence sinon
Code :
|
Marsh Posté le 07-05-2004 à 19:43:09
Bonjour à tous ,
Ma question est simple :
une classe Jeux :
class Jeux
{
private :
Serpent S[4];
Plateau P;
Cadeau C;
int Unite;
public :
Jeux();
Serpent RSerpent(int NumSerpent);
};
Jeux::Jeux()
{
Unite = 1;
};
Serpent Jeux::RSerpent(int NumSerpent)
{
return S[NumSerpent];
};
Une classe Serpent :
class Serpent
{
private :
AnsiString Nom;
public :
Serpent();
AnsiString RNom();
void ENom(AnsiString N);
};
//Constructeur
Serpent::Serpent()
{
Nom = "Serpent";
};
//Méthodes pour renvoyer les propriétés
AnsiString Serpent::RNom()
{
return Nom;
};
//Méthode pour modifier les propriétés
void Serpent::ENom(AnsiString N)
{
Nom = N;
};
Mon probleme est le suivant : lorsque je tente de modifier le serpent renvoyer par la methode RSerpent de Jeux les modifications ne sont pas faites ... voici le code qui devrait fonctionner :
void __fastcall TForm1::RGSerpentClick(TObject *Sender)
{
EdNom->Text = J.RSerpent(RGSerpent->ItemIndex).RNom();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Bt4Click(TObject *Sender)
{
J.RSerpent(RGSerpent->ItemIndex).ENom(EdNom->Text);
}
et au debut de mon code j'ai declaré en variable globale
Jeux J;
Ceci est peut etre un histoire de droit ou encore de pointeur...
Pourriez vous maider
Merci d'avance