Comment utiliser une sous-classe en C ++

Cet exemple programme C ++ démontre la création et l'utilisation de deux objets, l'un de la classe Étudiant et une seconde sous-classe d'une Étudiant diplomé. La sortie de ce programme est le suivant:

Construire étudiant Cy N SenseConstructing étudiant Matt MadoxConstructing étudiant diplômé Matt MadoxAdding grade en grade Cy N SenseAdding au qualificatif du grade de Matt MadoxMatt = 1.5Appuyez sur Entrée pour continuer ...

La classe Étudiant a été définie dans le mode classique. La classe Étudiant diplomé est un peu différent, cependant. Le côlon suivie de la mention Étudiant publique au début de la définition de classe déclare Étudiant diplomé être une sous-classe de Étudiant.

L'apparition du mot-clé public implique qu'il n'y a probablement héritage protégé ainsi. Très bien, il est vrai, mais protégé l'héritage est rarement utilisé.




Les programmeurs aiment inventer de nouveaux termes ou de donner un nouveau sens à des termes existants. Heck, programmeurs inventent même des nouveaux termes et ensuite leur donner un second sens. Voici un ensemble d'expressions équivalentes qui décrit la même relation:

  • Étudiant diplomé est une sous-classe de Étudiant.

  • Étudiant est la classe de base ou est la classe parente de Étudiant diplomé.

  • Étudiant diplomé hérite ou est dérivée de Étudiant.

  • Étudiant diplomé étend Étudiant.

En tant que sous-classe de Étudiant, GraduateStudent hérite de tous ses membres. Par exemple, un Étudiant diplomé a un nom même si ce membre est déclaré dans la classe de base. Cependant, une sous-classe peut ajouter ses propres membres, par exemple qualifierGrade. Après tout, gs littéralement is_a Étudiant plus un peu plus.

La main () fonction déclare deux objets, llu Type de Étudiant et gs Type de Étudiant diplomé. Il procède ensuite à accéder à la addCourse () fonction de membre pour les deux types d'étudiants. main () puis accède à la qualificatif () fonction qui est seulement un membre de la sous-classe.


» » » » Comment utiliser une sous-classe en C ++