[résolu] Surcharge méthodes c++, Et nom d'attribut |
Bienvenue invité ( Connexion | Inscription )
[résolu] Surcharge méthodes c++, Et nom d'attribut |
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 ! |
|
|
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
|
|
|
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 ! |
|
|
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 |
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 |
|
|
Nous sommes le : 24th April 2024 - 06:42 |