Fonction de classe de base d'appel dans C ++

Fonction de classe de base d'appel dans C ++
Il existe un concept d'héritage dans de nombreux langages de programmation comme C++. Il vous fournira la possibilité d'utiliser les classes enfants de votre programme qui sont dérivées de leurs cours de base respectifs. Une classe d'enfants peut accéder aux membres de données de sa classe de base spécifique, i.e., variables et méthodes. Dans ce guide, nous discuterons de différentes façons d'exécuter ou d'appeler la fonction d'appel de base en C++. Alors, commençons avec le lancement de la console terminale de l'Ubuntu 20.04 Système d'exploitation Linux Utilisation de la touche de raccourci «Ctrl + Alt + T» sur son bureau. Jetons un coup d'œil à certains des exemples simples pour appeler une méthode de base en C ++ maintenant.

Exemple 01:

Le premier exemple a commencé avec la génération d'un nouveau fichier C ++ qui sera utilisé pour créer un code. L'instruction «Touch» très connue est utilisée ici pour créer la «base.Fichier CC ". Ce fichier doit être ouvert au sein d'un éditeur déjà intégré dans l'Ubuntu 20.04 Système, I.e., Vim, nano ou éditeur de texte. Nous avons choisi l'éditeur «Nano» pour l'ouvrir.

Le code a été démarré à partir de l'inclusion de certains fichiers d'en-tête nécessaires de C ++ comme «iOStream» et «bits / stdc++.h ”. Le fichier est ouvert dans l'éditeur GNU Nano vide de l'Ubuntu 20.04 Système. La langue C ++ utilise l'espace de noms «std» pour utiliser les clauses «cout» et «cin» pour afficher et obtenir des commentaires. Nous avons commencé une nouvelle classe, «A» avec une méthode publique Show (). Cette fonction contient une seule instruction COT pour afficher qu'il s'agit d'une fonction de classe parent qui s'exécute maintenant. Après ce cours, nous avons créé une nouvelle classe, «B» héritée de la classe «A». Cela signifie que la classe B est une classe d'enfants de classe A et peut hériter de ses propriétés. La classe «B» contient également une fonction de type public nommée «Display ()». Cette fonction utilise ici une seule instruction «cout» pour afficher que cette fonction a été exécutée au sein de la classe enfant de ce programme. Maintenant, la classe d'enfants a été terminée ici. Nous avons commencé la méthode principale () ici pour exécuter les classes.

Maintenant, nous essaierons d'appeler la fonction «Show» de la classe A Parent A sans créer son objet. Nous utiliserons l'objet de la classe Child B à cet effet. Ainsi, dans la fonction principale (), nous avons créé un objet «obj» de la classe Child B en utilisant le «point» entre le nom de classe et le nom de l'objet. Cet objet «obj» a été utilisé ici avec le signe «dot» pour appeler la fonction «show ()» de la classe parent nommée «A». Nous n'utilisons pas cet objet pour appeler la fonction d'une classe d'enfants B. Si la classe Child B a contenu une fonction de constructeur, cette fonction de constructeur sera exécutée juste après avoir créé un objet. C'est le concept d'hérédité à l'aide d'un objet de classe d'enfants pour appeler la fonction de la classe parentale respective. C'est comme ça qu'on fait. Enregistrons et quittons le code avec Ctrl + S et Ctrl + x raccourcis consécutivement.

Après avoir enregistré le code, nous sommes de retour dans le shell terminal. Avant l'exécution, le code doit être compilé sur le shell avec un compilateur C ++. Ubuntu 20.04 propose un compilateur "G ++" qui peut être installé avec le package "APT". Nous avons donc utilisé ce compilateur "G ++" pour compiler le fichier nouvellement fabriqué, puis l'avoir exécuté avec un "./un.out ”Ubuntu 20.04 Instruction. En retour, la fonction de classe parent «show ()» a été exécutée, et nous avons reçu le message d'affichage.

Exemple 02:

Notre premier exemple a été d'appeler une fonction à partir d'une classe de base qui contient un nom unique dans l'ensemble le code. Mais que ferez-vous lorsque les classes parentales et enfants contiennent la même fonction de nom avec les mêmes paramètres et types de retour? Jetons un coup d'œil à cette méthode pour appeler une fonction de classe de base. Après les fichiers d'en-tête et l'espace de noms, nous avons déclaré deux classes, A et B. A est la classe parent de B, et la classe B dérive les propriétés de la classe parent A. Les classes A et B contiennent une fonction «même ()» avec le même nom et la même implémentation séparément. L'implémentation des deux fonctions contient l'instruction COT montrant si la méthode de classe des parents ou la méthode de classe infantile a été exécutée.

Nous avons utilisé l'appel de la fonction pour la méthode des parents de classe A «même ()» au sein de la classe Child B à l'aide du panneau «::» à la dernière ligne. Il s'agit d'éviter l'inconvénient qui pourrait être causé lorsqu'un objet appellera la même fonction de nom. Ainsi, dans la fonction principale (), nous avons créé un objet «B» de la classe enfant «B». Cet objet «B» est utilisé pour appeler la fonction «même» de la classe child. Lorsqu'un utilisateur essaie d'appeler la même fonction de nom de la classe parent avec le même objet, il lancera une exception. En raison de l'utilisation de l'appel de fonction «A :: Même» dans la fonction de classe infantile, il évitera l'exception et pas besoin de créer un nouvel objet. Enregistrez votre code et quittez l'éditeur.

La compilation et l'exécution du code mis à jour nous conduisent à la sortie ci-dessous. Vous pouvez voir que les deux fonctions du même nom de la classe enfant et parent sont exécutées avec un seul objet.

Exemple 03:

Voyons une autre méthode pour appeler la fonction de même nom de l'appel de base en C++. Donc, nous avons mis à jour le même code. Les fichiers d'en-tête, l'espace de noms, les membres du parent et les enfants sont inchangés, je.e., pas à jour. La seule mise à jour a été effectuée dans la méthode «main ()» de ce code. Nous avons créé deux objets, B1 et B2, de la classe enfant «B». L'objet B1 appelle directement la fonction «show ()» de la classe enfant. Alors que l'objet B2 appelle la fonction de classe parent show () en utilisant le signe «::» entre le nom de sa classe et le nom de sa fonction. Exécutons ce code après l'avoir enregistré.

Le résultat de cette exécution de code a fonctionné avec succès, et nous pouvons voir que la fonction de classe de base est également appelée en utilisant l'objet de classe enfant «B2».

Exemple 04:

Le dernier exemple est très différent de tous les exemples ci-dessus. Le code global est inchangé tandis que la fonction principale () a été peu mise à jour. Nous avons créé un objet «B» de la classe Child B. Cet objet «B» appelle la fonction de classe d'enfants «même». Puis a créé un pointeur «p» du type de classe de base «A» qui a pointé vers l'objet «B» de la classe Child B. Ce pointeur est ensuite utilisé pour appeler la même fonction () de la classe de base A. Exécutons ce code et voyons les résultats.

Après avoir exécuté ce code de pointeur mis à jour, nous avons vu que la fonction de classe de base a été exécutée à l'aide du pointeur après avoir exécuté la méthode de classe infantile. C'est comme ça qu'on fait.

Conclusion:

Cet article est un super bonus pour les utilisateurs qui recherchent des concepts d'héritage. Il a démontré une fonction de classe de base d'appel à l'aide de l'objet de classe enfant ou de l'objet de classe parent. D'un autre côté, nous avons également utilisé le concept de pointeurs pour appeler la fonction de classe de base à partir de la fonction principale d'un programme.