Accueil Finances personnelles C ++ Concept de classe abstrait - dummies

C ++ Concept de classe abstrait - dummies

Vidéo: Virtual Functions & Abstract Classes in C++ | C++ Programming Tutorials 2025

Vidéo: Virtual Functions & Abstract Classes in C++ | C++ Programming Tutorials 2025
Anonim

Une classe abstraite en C ++ est une classe avec une ou plusieurs fonctions virtuelles pures. Une fonction virtuelle pure est une fonction membre virtuelle marquée comme n'ayant aucune implémentation. Très probablement, il n'a pas d'implémentation car aucune implémentation n'est possible avec les informations fournies dans la classe, y compris les classes de base.

Une fonction virtuelle non pure conventionnelle et banale est appelée fonction concrète (notez qu'une fonction concrète peut être virtuelle - malheureusement, C ++ utilise ce terme pour désigner polymorphique.

La syntaxe pour déclarer une fonction pure virtual est démontrée dans la classe suivante: Account

// Account - cette classe est une classe de classe abstraite Account {public: Compte (non signé accNo, double initialBalance = 0. 0); // fonctions d'accès unsigned int compteNo (); double acntBalance (); static int noAccounts (); // fonctions de transaction void deposit (double montant); // les éléments suivants est une fonction virtuelle pure retrait de vide virtuel (double montant) = 0; protected: // garde les comptes dans une liste chaînée donc il n'y a pas de limite // au nombre de comptes static int count; // nombre de comptes unsigned accountNumber;;};

Le = 0 après la déclaration de retrait () indique que le programmeur n'a pas l'intention de définir cette fonction. on est un espace réservé pour les sous-classes. Les sous-classes de Account devraient remplacer cette fonction par une fonction concrète. Le programmeur doit fournir une implémentation pour chaque fonction membre non déclarée virtuelle pure.

Certains programmeurs pensent que cette notation est stupide. Mais il est là pour rester, alors il faut juste apprendre à vivre avec. Il y a une raison, sinon une justification, pour cette notation. Chaque fonction virtuelle doit avoir une entrée dans une table spéciale.

Cette entrée contient l'adresse de la fonction. Vraisemblablement, au moins à un moment, l'entrée pour une fonction virtuelle pure était 0. Dans tous les cas, c'est la syntaxe avec laquelle vous êtes coincé maintenant.

Une classe abstraite ne peut pas être instanciée avec un objet; c'est-à-dire que vous ne pouvez pas faire un objet hors d'une classe abstraite. Par exemple, la déclaration suivante n'est pas légale:

void fn () {// déclare un compte avec 100 dollars Account acnt (1234, 100. 00); // ce n'est pas légal acnt. retrait (50); // qu'attendriez-vous} // cet appel à faire?

Si la déclaration était autorisée, l'objet résultant serait incomplet et manquerait de certaines capacités. Par exemple, que devrait faire l'appel précédent? Rappelez-vous, il n'y a pas de compte:: retrait () .

Les classes abstraites servent de classes de base pour les autres classes. Un compte contient toutes les propriétés associées à un compte bancaire générique. Vous pouvez créer d'autres types de comptes bancaires en héritant du compte .

Le terme technique est instancier . Vous dites que la classe Account ne peut pas être instanciée avec un objet ou qu'un objet donné instancie la classe Savings .

C ++ Concept de classe abstrait - dummies

Le choix des éditeurs

Comment envoyer une vidéo et des photos avec Flip Video - Dummies

Comment envoyer une vidéo et des photos avec Flip Video - Dummies

Après avoir pris photos et vidéos d'événements dans votre vie avec votre caméra Flip Video, vous pouvez les envoyer par e-mail à vos amis et aux membres de votre famille. Le partage de films et d'images que vous capturez et créez en envoyant un message e-mail vous permet de toucher et de toucher quelqu'un avec vos créations, même si vous êtes à proximité ...

Comment enregistrer le son séparément pour votre film numérique - Les mannequins

Comment enregistrer le son séparément pour votre film numérique - Les mannequins

Ont parfois besoin d'un réalisateur enregistrer le son en utilisant un appareil séparé de l'appareil photo, enregistrer le son séparément, puis synchroniser le son sur la vidéo plus tard, lors de l'édition. Habituellement, la raison en est d'augmenter la qualité du son enregistré car de nombreuses caméras n'enregistrent pas le son aussi bien que ...

Comment enregistrer une vidéo avec un caméscope Flip - Les nuls

Comment enregistrer une vidéo avec un caméscope Flip - Les nuls

Enregistrant des vidéos avec votre caméra Flip est comme facile comme 1-2-3 (et 4). Avant d'enregistrer une vidéo, vérifiez les indicateurs d'état de votre Flip pour vous assurer que votre caméra est complètement chargée et qu'elle a suffisamment de temps d'enregistrement pour capturer la vidéo que vous voulez filmer. Pour vérifier le niveau de charge de la batterie de votre Flip (ou ...

Le choix des éditeurs

Mot Raccourcis des symboles 2016 - des mannequins

Mot Raccourcis des symboles 2016 - des mannequins

Dans Word 2016 vous pouvez insérer des symboles communs en utilisant ces raccourcis clavier. Utilisez ces raccourcis clavier au lieu de la commande Insérer → Symbole pour insérer des symboles typographiques communs. Symbole Raccourci Tableau de bord Alt + Ctrl + signe moins En tableau Ctrl + signe moins Copyright Alt + Ctrl + C Marque déposée Alt + Ctrl + R Marque Alt + Ctrl + T Ellipsis Alt + Ctrl + période

Mot Raccourcis des symboles 2016 - mannequins

Mot Raccourcis des symboles 2016 - mannequins

En fonction de la manière dont vous choisissez d'utiliser Word 2016, vous risquez de devoir faire face pour un symbole spécial. Avec ces raccourcis clavier, vous pouvez insérer des symboles communs dans Word 2016. Utilisez ces raccourcis clavier au lieu de la commande Insérer → Symbole pour insérer des symboles typographiques communs. Symbole Raccourci Tableau de bord Alt + Ctrl + signe moins En tiret ...

Mot Trucs et astuces pour les tables 2013 - mannequins

Mot Trucs et astuces pour les tables 2013 - mannequins

Dans Word 2013, le texte se déverse dans un tableau sur une cellule base de la cellule. Vous pouvez taper un mot, une phrase ou même un paragraphe. Tout ce texte reste dans la cellule, bien que la cellule change de taille pour accueillir de plus grandes quantités de texte. Vous pouvez mettre en forme la cellule d'une table comme n'importe quel paragraphe de Word, en ajoutant même des marges ...

Le choix des éditeurs

Sexe For Dummies Cheat Sheet - les nuls

Sexe For Dummies Cheat Sheet - les nuls

Que vous vous considériez comme un Don Juan, une Lady Chatterly, ou un novice sexuel , tout le monde peut tirer le meilleur parti du sexe avec un peu plus de connaissances. Vous devriez savoir que les préliminaires sont quelque chose que vous devriez prendre en considération avec chaque interaction que vous et votre partenaire avez, ainsi que la façon de garder les choses ...

Mots et significations liés à la ménopause - mannequins

Mots et significations liés à la ménopause - mannequins

Bien que ce soit loin d'être une liste complète des termes que vous pourriez entendre être utilisé lorsque la ménopause est discutée, les cinq termes essentiels suivants devraient vous aider à comprendre les bases. HRT (hormonothérapie substitutive): Un traitement pour compléter les hormones que vous perdez pendant la ménopause - généralement une combinaison d'œstrogènes, ...

Symptômes qui indiquent que la ménopause est proche - mannequins

Symptômes qui indiquent que la ménopause est proche - mannequins

La plupart des femmes commencent à éprouver des symptômes de ménopause déséquilibrés, alors qu'ils ont encore des règles. Si vous ressentez un ou plusieurs des symptômes suivants, consultez votre médecin - vous pouvez être en train d'aborder le changement. Peau sèche ou cheveux Pensée floue (difficulté à se concentrer) Flutters du cœur (battements de cœur rapides) ...