Fonctions virtuelles pures et classes abstraites en C++

En C++, une fonction virtuelle peut être déclarée comme une fonction virtuelle pure, et le format de syntaxe est :

Nom de la fonction du type de valeur de retour virtuelle (paramètre de la fonction) = 0 ;

Une fonction virtuelle pure n'a pas de corps de fonction, seulement une déclaration de fonction. L'ajouter à la fin de la déclaration de fonction virtuelle =0indique que la fonction est une fonction virtuelle pure.

Le dernier =0ne signifie pas que la valeur de retour de la fonction est 0, il ne joue qu'un rôle formel, indiquant au système de compilation "c'est une pure fonction virtuelle".

Une classe contenant des fonctions virtuelles pures est appelée une classe abstraite. La raison pour laquelle on dit qu’il est abstrait est qu’il ne peut pas être instancié, c’est-à-dire qu’il ne peut pas créer d’objets. La raison est évidente : une fonction virtuelle pure n’a pas de corps de fonction, n’est pas une fonction complète, ne peut pas être appelée et ne peut pas lui allouer d’espace mémoire. Les classes abstraites servent généralement de classes de base, permettant aux classes dérivées d'implémenter des fonctions virtuelles pures. Les classes dérivées doivent implémenter des fonctions virtuelles pures avant de pouvoir être instanciées. Exemples d'utilisation de fonctions virtuelles pures :

    #include <iostream>
    using namespace std;
    //线
    class Line{
    public:
        Line(float len);
        virtual float area() = 0;
        virtual float volume() = 0;
    protected:
        float m_len;
    };
    Line::Line(floa

Je suppose que tu aimes

Origine blog.csdn.net/shiwei0813/article/details/132768396
conseillé
Classement