Intérêt de l?utilisation d?une classe abstraite [dev-cpp]

Description

Ce programme très simple illustre l?intérêt de l?utilisation d?une classe abstraite. Avec des pointeurs de Forme (abstraite) on peut instancier n?importe quels objet des classes dérivées (Cercle,Triangle, ?). C?est alors que ça devient intéressant car les fonctions virtuelles de Forme une fois définies pour les classes héritées peuvent être utilisées sur les pointeurs sans s?occuper du type d?objet vers lesquels ils pointent !

Source / Exemple :


#include <iostream>
#include "cercle.h"
#include "rectangle.h"
#include "triangle.h"

// MISE EN OEUVRE //////////////////////////////////////////////////////////

using namespace std;

int main(int argc, char *argv[])
{
    Forme *pt[3]; // Pointeur car on ne peut instancier une classe virtuelle
    pt[0] = new Cercle(2.);
    pt[1] = new Rectangle(2.5,4.);
    pt[2] = new Triangle(3.,8.);
    
    for(int i = 0; i < 3; i++)
        cout << "Surface du " 
             << pt[i]->GetName() 
             << " : " 
             << pt[i]->Surface() 
             << endl;
    
    system("PAUSE");
    return EXIT_SUCCESS;
}

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.