La surcharge de l'opérateur ++ sur un pointeur de classe Node

Résolu
nord666
Messages postés
20
Date d'inscription
jeudi 19 avril 2007
Statut
Membre
Dernière intervention
29 juin 2008
- 6 mai 2008 à 20:09
nord666
Messages postés
20
Date d'inscription
jeudi 19 avril 2007
Statut
Membre
Dernière intervention
29 juin 2008
- 8 mai 2008 à 18:58
Bonjour à tous,

J'ai un problème avec la surcharge de l'opérateur ++ sur un pointeur de classe Node.
Je veux que ++ptrNode ou quelque chose d'identique met dans le pointeur ptrNode.

Voici la définition de ma classe(Node.h):

#ifndef

NODE_H
#define

NODE_H
class

Node{

public

:Node(Score * aScore);

~Node();

void setNext(Node * aNode);

Score * getScore()

const;

Node &

operator++();
private

:Node * next;

Score * theScore;

};

#endif

Je ne sais même pas si ma déclaration est pour la surcharge est correct pour mon cas. Ça fait un peu plus d'une heure que moi et mon prof cherchons la réponse.

Voici une idée pour le code de la surcharge:

Node & Node::

operator++(){

return
this->next;}

N'oubliez pas que c'est Node * ptrNode
la variable qui utilise ++.

Merci d'avance!

3 réponses

SAKingdom
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
15
6 mai 2008 à 22:54
Node * Node::



operator
++()
{


return


next;}




Node *c = ++(*ptrNode);
peut-être

C++ (@++)<!--
3
cs_juju12
Messages postés
966
Date d'inscription
samedi 3 avril 2004
Statut
Membre
Dernière intervention
4 mars 2010
4
7 mai 2008 à 21:59
Je crois pas que tu aies le droit de faire ça en C++; pour surcharger un opérateur, au moins un des deux types (entrée/retour) doit être de type formel (soit une classe ou une référence mais pas un pointeur). Il faudra utiliser la syntaxe proposée par SAKingdom.
0
nord666
Messages postés
20
Date d'inscription
jeudi 19 avril 2007
Statut
Membre
Dernière intervention
29 juin 2008

8 mai 2008 à 18:58
merci beaucoup pour votre aide.
0