Question sur les pointeurs
Bonjour,
J'essaye d'apprendre le C++, j'utilise Code block sous Linux.
Je comprend bien le principe des pointeurs, par contre je ne comprend pas trop quand utiliser -> ou "." pour accéder aux membres d'une classe.
Par exemple :
Le .h :
Code:
1 2 3 4 5 6 7 8
|
class Personnage
{
(......)
void changerArme(std::string nomNouvelleArme, int degatsNouvelleArme);
Arme *m_arme;
}; |
le .cpp :
Code:
1 2 3 4 5
|
void Personnage::changerArme(string nomNouvelleArme, int degatsNouvelleArme)
{
m_arme->changer(nomNouvelleArme, degatsNouvelleArme);
} |
J'aurais plutôt pensé que dans ce cas il fallait utiliser *m_arme.changer() puisqu'il faut déréférencer le pointeur et pour ca il faut utiliser "*", sauf que ca ne compile pas...
Est-ce que quelqu'un pourrais m'éclairer svp ?