Classe abstraite en C++

En C++, une classe avec une fonction virtuelle pure est appelée une classe abstraite. Par exemple, la fonction suivante est une fonction virtuelle pure:

virtual void myFunction() = 0;

 
 
Une fonction virtuelle pure est marquée avec le mot clé virtual et l’affectation (=0) après sa signature. Vous pouvez appeler cette fonction une fonction abstraite car elle n’a pas de corps. La classe fille doit implémenter toutes les fonctions virtuelles pures de la classe parente, sinon elle deviendra une classe abstraite par défaut.
Fonction virtuelle pure C++

Exemple: Classe abstraite en C++
#include <iostream> 

using namespace std; 

// Classe abstraite
class A 
{
	public:
		 virtual void show1()=0; //Fonction virtuelle pure
		virtual void show2()=0; //Fonction virtuelle pure

		void show3()
		{
			cout << " C'est la méthode show3 de la classe mére" << endl;
		}
};

class B : public A
{
	public:
		void show1()
		{
			cout << " C'est la méthode show1 de la classe fille" << endl;
		}

		void show2()
		{
			cout << " C'est la méthode show2 de la classe fille" << endl;
		}
};

int main()
{
	B b;
	b.show1();
	b.show2();
	b.show3();
	return 0;
}

La sortie :
 

 

Les règles de classe abstraite
  • Les classes abstraites sont utilisées pour représenter des concepts généraux (par exemple, Forme, Animal), qui peuvent être utilisés comme classes de base pour des classes concrètes (par exemple, Cercle, Chien).
  • Aucun objet d’une classe abstraite ne peut être créé.
  • Les types abstraits ne peuvent pas être utilisés en tant que types de paramètres, ou en tant que types de retour de fonction.
  • Les pointeurs et les références vers une classe abstraite peuvent être déclarés.

 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *