IPB

Bienvenue invité ( Connexion | Inscription )

 
Reply to this topicStart new topic
> [résolu] Surcharge méthodes c++, Et nom d'attribut
Options
audionuma
posté 22 Feb 2015, 11:06
Message #1


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 2 031
Inscrit : 27 Apr 2004
Membre no 18 176



Bonjour,
je m'initie au c++, et j'ai une question concernant la surcharge de méthodes.
(Environnement Mac OS 10.9.5, Xcode 6.1.1, projet modèle Command Line Tool > C++, modif dans Build Settings : C++ language dialect configuré en c++11).
Soit le code suivant (MonTest.cpp) :
Code
class MonTest{
public:
    int monAttribut() const {
        return monAttribut;
    }
    void monAttribut(int att) {
        monAttribut = att;
    }
private:
    int monAttribut;
};

Xcode n'est pas du tout content, et visiblement ne m'autorise pas à nommer mes accesseurs du même nom que mes attributs. La signature est pourtant différente ...

Je croyais pourtant que c'était autorisé.
Est-ce une option de compilation ? Ou bien ai-je mal compris ?
Merci ...

Ce message a été modifié par audionuma - 22 Feb 2015, 12:33.


--------------------
Membre du club des AIPBP (Anciens Inscrits Pas Beaucoup de Posts) Voir la liste
Futur ex-macbidouilleur, sous Dell / Ubuntu depuis 2021 !
Go to the top of the page
 
+Quote Post
schlum
posté 22 Feb 2015, 12:24
Message #2


Terminaltor
Moderating Machine
*****

Groupe : Admin
Messages : 24 449
Inscrit : 25 Oct 2002
Lieu : Jeumont (59)
Membre no 4 319



Ce n’est pas un problème de surcharge ; les méthodes n’ont pas le droit d’avoir le nom d’une variable d’instance.

Code
class MonTest{
public:
    int monAttribut() const {
        return _monAttribut;
    }
    void monAttribut(int att) {
        _monAttribut = att;
    }
private:
    int _monAttribut;
};


(par contre, le nom du setter n’est vraiment pas clair pour le coup)


--------------------
          I think therefore I Mac          
Go to the top of the page
 
+Quote Post
audionuma
posté 22 Feb 2015, 12:33
Message #3


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 2 031
Inscrit : 27 Apr 2004
Membre no 18 176



Merci,
en revisionnant le cours (https://class.coursera.org/intropoocpp-001), je constate qu'effectivement, les nom d'attributs sont différents des noms de méthodes.
Donc problème résolu.


--------------------
Membre du club des AIPBP (Anciens Inscrits Pas Beaucoup de Posts) Voir la liste
Futur ex-macbidouilleur, sous Dell / Ubuntu depuis 2021 !
Go to the top of the page
 
+Quote Post
MacNiaque
posté 26 Feb 2015, 17:47
Message #4


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 1 860
Inscrit : 21 Aug 2007
Lieu : Versailles
Membre no 93 067



Citation (audionuma @ 22 Feb 2015, 12:33) *
en revisionnant le cours (https://class.coursera.org/intropoocpp-001), je constate qu'effectivement, les nom d'attributs sont différents des noms de méthodes.
Donc problème résolu.

Comme dit Schlum, applique les conventions habituelles du C++ comme celles de GNU et appelle tes accesseurs get_maVariable() et tes mutateurs set_maVariable(variable_arg), ça t'évitera ce genre de problèmes.


--------------------
iMac Alu 20" - 2.4GHz - HD2600 - RAM 4GO - DD 1TO - MacOS X.9 & X.6 - JBL Creature II - Brother HL2030 - Canon Lide 25
iMac 400DV Indigo - 256MO de ram - DD 80GO - MacOS X.3.9 + 9.2.2
PB 190/66 - RAM 8MO - DD 500MO - system 7.6.1 - CompactFlash en PCMCIA 128MO
iPod nano G3

SynchroAS, FanworOSX et d'autres sur MacNiaque.free.fr
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



Nous sommes le : 24th April 2024 - 06:42