Jump to content
Laurent GODEFROY

Mini-Projet de C++

Recommended Posts

En fait, c'était tellement simple ; je n'ai décidément pas la bonne logique à avoir. Merci beaucoup !

 

Ps : dernière chose, si j'osais ; maintenant, il râle parce que Case**Gameboard de la class Plateau est en private, et que ma fonction Ange::Incorrect() ne peut avoir accès à Gameboard. 

J'ai tenté :

Case Plateau::get_Gameboard()
{
    return Gameboard;
}

Mais il ne semble pas fonctionner. Pourtant, cela fonctionne bien avec 

int Plateau::getm_dim()
{
    return m_dim;
}

De façon à retourner la dimension du plateau (qui était justement en privé).

 

Une façon de pouvoir accéder à Gameboard un peu partout ? J'ai regardé pour le mot "friend", mais je n'ai pas compris comme il fonctionne.

Accessoirement, j'ai aussi remarqué que placer le Case**Gameboard en public résolvait le problème, ce que je trouve bien plus simple. 

Share this post


Link to post
Share on other sites

 

 

Accessoirement, j'ai aussi remarqué que placer le Case**Gameboard en public résolvait le problème, ce que je trouve bien plus simple. 

 

Ce que tu ne devrais pas faire car en exposant un détail d'implémentation comme celui-ci au monde entier, tu brises le principe d'encapsulation. Dans Plateau, plutôt que de retourner ta matrice au complet, tu devrais faire une fonction qui prend en paramètre un x et un y, et qui te renvoie la case associée à ce couple (x, y). Accessoirement, tu peux valider que (x, y) ne dépasse pas les limites de ta matrice et faire crasher ton programme si tel est le cas (assert)

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×