Classes + c++ aidez moi svp ?
Résolu/Fermé
mixtape
Messages postés
18
Date d'inscription
mardi 15 novembre 2005
Statut
Membre
Dernière intervention
22 mai 2006
-
15 nov. 2005 à 11:26
Nyze - 2 avril 2008 à 23:10
Nyze - 2 avril 2008 à 23:10
A voir également:
- Classes + c++ aidez moi svp ?
- Mysql error in file: /engine/classes/mysql.php at line 53 ✓ - Forum Réseaux sociaux
- /Engine/classes/mysql.php ✓ - Forum Webmastering
- Comment sont classés les amis sur facebook - Forum Facebook
- C'est quoi les jeux classés sur plato - Forum jeux en ligne
- Listes d'amis Facebook : créer et utiliser les filtres - Guide
6 réponses
sebsauvage
Messages postés
32893
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 659
15 nov. 2005 à 11:36
15 nov. 2005 à 11:36
mamiemando
Messages postés
33390
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
28 novembre 2024
7 803
16 nov. 2005 à 01:05
16 nov. 2005 à 01:05
Une classe c'est l'évolution des structures du c. Tu définis des accessiblités (private protected public) pour certains attributs de classes (les anciens champs de tes structs) et pour les méthodes (les fonctions rattachées à une classe).
Les méthodes travaillent sur les paramètres passés ainsi que sur this, qui pointe sur l'instance de l'objet sur lequel tu appelles la méthode.
Ainsi :
Cf les liens donnés par sebsauvage pour les compléments d'infos
Bonne chance
Les méthodes travaillent sur les paramètres passés ainsi que sur this, qui pointe sur l'instance de l'objet sur lequel tu appelles la méthode.
Ainsi :
class plop{ private://uniquement accessible dans la classe plop protected data; protected://uniquement accessible dans la classe plop et les classes dérivées de plop public://accessible partout plop():data(5){} int f(int i,int j){ return this->data+i+j;//equivalent à return data+i+j } }; int main(){ plop p=plop(); //objet plop créé int i=0; int j=0; std::cout<<p.data<<std::endl; //faux car data est private p.f(i,j)//appel à la methode f : f peut travailler sur this=&p et sur les entiers i et j return 0; }
Cf les liens donnés par sebsauvage pour les compléments d'infos
Bonne chance
mixtape
Messages postés
18
Date d'inscription
mardi 15 novembre 2005
Statut
Membre
Dernière intervention
22 mai 2006
1
16 nov. 2005 à 13:52
16 nov. 2005 à 13:52
merci bien les gas , une question encore ; le this j arrive po a comprendre quand est ce que j doit l utiliser et quand est ce que je doit po ??? merci
Zep3k!GnO
Messages postés
2025
Date d'inscription
jeudi 22 septembre 2005
Statut
Membre
Dernière intervention
18 novembre 2015
200
16 nov. 2005 à 14:00
16 nov. 2005 à 14:00
le this tu l'utilise selon le contexte dans lequel tu es.
Si tu veux appeller un attrbibut et que tu es dans la classe,tu vas mettre
this->nomAttribut .
Mais si tu n'est pas dans ta classe il faut une instance de l'objet, il faut que tu ai un objet de ta classe .
genre que t'ai fait un MonObjet=new MaClass(); // la synthaxe est pas top je pense mias ca fait qques temps que j'ia pas refait de C++..
puis pour appeller l'attribut :
MonObjet->nomAttribut .
Voilà, j'espère que tu saisie mieu la différence et cette notion de contexte...
Zep3k!GnO
-->kurtis jackson:"Dans la vie tu as besoin de 3 choses : le fitness, l'aérobic et moi."
Si tu veux appeller un attrbibut et que tu es dans la classe,tu vas mettre
this->nomAttribut .
Mais si tu n'est pas dans ta classe il faut une instance de l'objet, il faut que tu ai un objet de ta classe .
genre que t'ai fait un MonObjet=new MaClass(); // la synthaxe est pas top je pense mias ca fait qques temps que j'ia pas refait de C++..
puis pour appeller l'attribut :
MonObjet->nomAttribut .
Voilà, j'espère que tu saisie mieu la différence et cette notion de contexte...
Zep3k!GnO
-->kurtis jackson:"Dans la vie tu as besoin de 3 choses : le fitness, l'aérobic et moi."
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
mamiemando
Messages postés
33390
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
28 novembre 2024
7 803
17 nov. 2005 à 00:47
17 nov. 2005 à 00:47
this est le pointeur sur l'instance sur laquelle tu appelles la méthode. Il peut être sous-entendu dans les corps de méthodes s'il n'y a pas d'ambiguité (avec une variable locale à la fonction ou un paramètre).
Bonne chance
class plop{ private: int i; public: plop():i(0){} //constructeur void f(){ ++(this->i); ++i;//equivalent } //tu peux modifier this->i int g() const{ return i;//equivalent à retourne this->i } //tu peux modifier this->i car le const t'en empeche }; int main(){ plop p; plop *q=new plop(); p.f(); //dans cet appel this==&p q->g(); //dans cet appel this==q delete q; return 0; }
Bonne chance