Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1715 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  débutante en c++

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

débutante en c++

n°1836472
sarainform​atique
Posté le 11-01-2009 à 07:19:43  profilanswer
 

Comment l'héritage peut avoir des conséquences sur les appels de constructeurs et destructeurs?
 
Aussi c'est quoi un  objet const?
 
 
enfin pourquoi  Chaque instance a son propre jeu de membres statiques?
 
Merci

mood
Publicité
Posté le 11-01-2009 à 07:19:43  profilanswer
 

n°1836490
Joel F
Real men use unique_ptr
Posté le 11-01-2009 à 11:33:25  profilanswer
 

parce que il faudrait que tu lise tes cours et/ou que tu te renseigne un peu. :o
cf les Bibliolinks en post-it du forum.

n°1836526
Elmoricq
Modérateur
Posté le 11-01-2009 à 13:00:27  profilanswer
 
n°1836572
sarainform​atique
Posté le 11-01-2009 à 15:17:11  profilanswer
 

ben non j'ai bien lu pourtant y'a rien dans les bouquins

n°1836576
LePhasme
Les Belges domineront le monde
Posté le 11-01-2009 à 15:47:33  profilanswer
 

C'est que tu as des mauvais bouquins ou que tu regarde mal... :o
 
Sinon de ce que je m'en rappelle, pour l'héritage ça modifie les appels dans le sens ou la création d'un objet enfant appellera le constructeur de son parent, et la même chose pour le destructeur.
Un objet const est un objet que tu ne peux pas modifier.
 
J'espère que tout ça est juste le C++ est loin pour moi...


---------------
Instagram - Mon PVT en Australie.
n°1836670
Elmoricq
Modérateur
Posté le 11-01-2009 à 21:29:39  profilanswer
 

LePhasme a écrit :

la création d'un objet enfant appellera le constructeur de son parent, et la même chose pour le destructeur.

 

La classe fille hérite des constructeurs/destructeurs de la classe parente. En revanche si tu surcharges l'un des constructeurs, il faut appeler celui de la classe parente explicitement.

 

Encore une fois, je remets le lien que j'ai déjà posté : http://cplusplus.com/doc/tutorial/inheritance.html
Il y a des exemples, et c'est très bien expliqué.

 


Pour le deuxième point : on ne peut pas définir de classe constante, il n'y a que les variables/fonctions/méthodes/instances qui peuvent l'être. Par contre, "const" est le mot-clef le plus bordélique qui soit en C et en C++.

Message cité 3 fois
Message édité par Elmoricq le 11-01-2009 à 21:31:01
n°1836707
ptitchep
Posté le 12-01-2009 à 00:02:35  profilanswer
 

Elmoricq a écrit :

Par contre, "const" est le mot-clef le plus bordélique qui soit en C et en C++.


Pourquoi?


---------------
deluser --remove-home ptitchep
n°1836715
sarainform​atique
Posté le 12-01-2009 à 00:35:13  profilanswer
 

Elmoricq a écrit :


 En revanche si tu surcharges l'un des constructeurs, il faut appeler celui de la classe parente explicitement.
.


 
 
pourquoi on doit le faire? :pt1cable:   on peut pas se contenter d'appeler le constructeur de la classe fille :??:

n°1836870
Un Program​meur
Posté le 12-01-2009 à 13:37:59  profilanswer
 

Elmoricq a écrit :

Pour le deuxième point : on ne peut pas définir de classe constante, il n'y a que les variables/fonctions/méthodes/instances qui peuvent l'être. Par contre, "const" est le mot-clef le plus bordélique qui soit en C et en C++.


 
static etait mon candidat a moi pour ce titre.

n°1836876
Elmoricq
Modérateur
Posté le 12-01-2009 à 13:41:56  profilanswer
 

sarainformatique a écrit :


pourquoi on doit le faire? :pt1cable:   on peut pas se contenter d'appeler le constructeur de la classe fille :??:


 
Visiblement, tu n'as pas lu le lien que j'ai mis. Deux fois que je te le mets, et où tout est absolument expliqué.  
Parce que c'est dans le constructeur de la classe fille que tu vas appeler, ou non, celui de la classe mère, en suivant une syntaxe particulière tant qu'à faire. Et ce seulement si tu surcharges dans la classe fille un constructeur de la classe parente.
 
Faut que je fasse quoi, que je te précise en plus que c'est le chapitre "What is inherited from the base class?" de la page, et que je te dise qu'il y a un exemple très clair sur le fonctionnement de la chose ?

mood
Publicité
Posté le 12-01-2009 à 13:41:56  profilanswer
 

n°1836885
Elmoricq
Modérateur
Posté le 12-01-2009 à 13:48:50  profilanswer
 


Parce que dès que tu as des pointeurs à définir avec const, c'est tout de suite le bordel pour savoir ce qui doit être constant.
char const * et char * const ne signifient pas la même chose, et je trouve que c'est le bordel.
 

Un Programmeur a écrit :

static etait mon candidat a moi pour ce titre.


 
Ah c'est clair que "static" est pas mal non plus dans le genre, mais surtout parce que c'est le mot-clef fourre-tout.
Disons que contrairement à const y a jamais de problème de syntaxe, juste de sémantique en fonction de l'objet qualifié.
Du coup il me pose moins de problème que const.  [:joce]

n°1836888
Un Program​meur
Posté le 12-01-2009 à 13:54:32  profilanswer
 

Elmoricq a écrit :


Parce que dès que tu as des pointeurs à définir avec const, c'est tout de suite le bordel pour savoir ce qui doit être constant.
char const * et char * const ne signifient pas la même chose, et je trouve que c'est le bordel.


 
Il suffit de ne jamais mettre const en premier (ce que tu fais ici).  Alors const qualifie toujours ce qu'il suit immediatement:
 
char const*  -> pointeur vers char constant
char *const -> pointeur constant vers char
 

n°1836890
ptitchep
Posté le 12-01-2009 à 13:55:15  profilanswer
 

Elmoricq a écrit :


Parce que dès que tu as des pointeurs à définir avec const, c'est tout de suite le bordel pour savoir ce qui doit être constant.
char const * et char * const ne signifient pas la même chose, et je trouve que c'est le bordel.
 


Oui mais avec google pas loin pour vérifier on finit par s'en sortir assez vite je trouve quand même.
 
Je vote plus pour static qui peut avoir carrément un sens différent.


---------------
deluser --remove-home ptitchep
n°1836891
Elmoricq
Modérateur
Posté le 12-01-2009 à 13:57:55  profilanswer
 

Un Programmeur a écrit :


 
Il suffit de ne jamais mettre const en premier (ce que tu fais ici).  Alors const qualifie toujours ce qu'il suit immediatement:
 
char const*  -> pointeur vers char constant
char *const -> pointeur constant vers char
 


 
Je sais bien, mais ce mot-clef m'a plusieurs fois traumatisé, et du coup c'est celui que je déteste le plus. Alors que static ne m'ennuie pas plus que ça. [:joce]

n°1837626
el muchach​o
Comfortably Numb
Posté le 13-01-2009 à 22:55:47  profilanswer
 

Un Programmeur a écrit :


 
Il suffit de ne jamais mettre const en premier (ce que tu fais ici).  Alors const qualifie toujours ce qu'il suit immediatement:
 
char const*  -> pointeur vers char constant
char *const -> pointeur constant vers char
 


Il y a aussi les classes const, les méthodes const, et si on a le malheur de mal définir une API, les utilisateurs sont obligés de faire du const_cast, c'est bien pourri.
C'est tellement pourri que le remplacement de const C++ par des équivalents clairs et non ambigüs en D est probablement le sujet de discussion le plus débattu, donnant lieu à des centaines de messages entre spécialistes sur le forum de discussions.


---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
n°1837737
Joel F
Real men use unique_ptr
Posté le 14-01-2009 à 11:21:00  profilanswer
 

el muchacho a écrit :


Il y a aussi les classes const, les méthodes const, et si on a le malheur de mal définir une API, les utilisateurs sont obligés de faire du const_cast, c'est bien pourri.


 
ouasi enfin, les mecs aussi, faut lire les specs quoi :o
Si les gars savent coder propre avec const, on y peut rien.  
Faire du const_cast c'ets montré qu'on a rien compris au film :o

n°1838064
Un Program​meur
Posté le 15-01-2009 à 08:56:53  profilanswer
 

el muchacho a écrit :


Il y a aussi les classes const, les méthodes const, et si on a le malheur de mal définir une API, les utilisateurs sont obligés de faire du const_cast, c'est bien pourri.


 
Il fait trop froid, cassez donc ce thermomètre ;-)
 
 

n°1838113
Joel F
Real men use unique_ptr
Posté le 15-01-2009 à 11:07:10  profilanswer
 

Un Programmeur a écrit :


Il fait trop froid, cassez donc ce thermomètre ;-)


 
Je note cette métaphore dans mon calepin :D


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  débutante en c++

 

Sujets relatifs
php => sql (débutante)aide pour un programme JAVA (débutante)
Question d'une débutante svpDébutante besoin d'un code précis
Débutante en Java et erreurs incomprisesune debutante besoin d'aide ..>
aide debutante programmation en cAide pour une débutante en javascript
[Débutante] Sérialisation Winformdebutante sur css probleme "classique"
Plus de sujets relatifs à : débutante en c++


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR