INTÉRÊT DE L?UTILISATION D?UNE CLASSE ABSTRAITE [DEV-CPP]

Signaler
Messages postés
97
Date d'inscription
mardi 9 avril 2002
Statut
Membre
Dernière intervention
11 mai 2008
-
magic_Nono
Messages postés
1878
Date d'inscription
jeudi 16 octobre 2003
Statut
Membre
Dernière intervention
16 mars 2011
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/36726-interet-de-l-utilisation-d-une-classe-abstraite-dev-cpp

magic_Nono
Messages postés
1878
Date d'inscription
jeudi 16 octobre 2003
Statut
Membre
Dernière intervention
16 mars 2011
1
totalement exact, désolé, j'ai dût répondre un peu vite lors de mon dernier post.

les fonctions virtuelles sont redéfinissables dans les classes filles.

et ces dernieres refusent de compiler seulement si elles comportes des fonctions virtuelles pures (=0) non redéfinies.

Magicalement
Nono.
cs_exar
Messages postés
286
Date d'inscription
vendredi 5 décembre 2003
Statut
Membre
Dernière intervention
22 avril 2012
1
Magic_Nono:
Il me semble que c'est le fait que la méthode soit virtuelle pure (=0) qui impose sa présence dans les classes filles, si je ne me trompe pas, non ?
Quand une, fonction membre n'est pas virtuelle, la fct invoquée est celle définie dans le type statique de l'objet de classe(ou pointeur ou réf) à travers laquelle elle est invoquée. Quand une fct membre est virtuelle, la fct invoquée est celle définie dans le type dynamique de l'objet de classe.
Une fct membre virtuelle pure permet d'encapsuler la fct de manière indépendante du type dérivé. Ces fcts membres n'ont d'ailleurs pasx d'implémentation dans la clase de base.
magic_Nono
Messages postés
1878
Date d'inscription
jeudi 16 octobre 2003
Statut
Membre
Dernière intervention
16 mars 2011
1
cette classe est abstraite puisqu'elle ne peut avoir d'instance

le mots clef virtual impose que chaque classe fille possède cette méthode.

Magicalement
Nono.
Kleidp
Messages postés
124
Date d'inscription
jeudi 5 juin 2003
Statut
Membre
Dernière intervention
10 février 2008

Salut, juste deux petite question sur ta source (je débute sur la programmation objet):

- Dans ta description, tu dis que la classe Forme est une classe abstraite.
En fait (à ce que j'ai lu), ce n'est pas plutot une classe de base ou classe mère ?
Quel est la difference ?

- Tu as mis "virtual" devant les methotes de Forme. A quoi cela sert il ?

Merci pour vos réponses ..