C++ est un langage de programmation orienté objet créé par Bjarne Stroustrup. Il a été publié en 1985.
C++ est un surplus du langage C avec l’ajout de classes dans ce dernier.
Au départ, Stroustrup a appelé le nouveau langage « C avec classes ». Toutefois, après un certain temps, le nom a été changé en C++. L’idée du C++ vient de l’opérateur d’incrémentation C++.
Une classe est un type de données défini par l’utilisateur qui possède des membres de données et des fonctions membres. Les membres de données sont les variables et les fonctions membres sont les fonctions qui sont utilisées pour effectuer des opérations sur ces variables.
Un objet est une instance d’une classe. Comme une classe est un type de données défini par l’utilisateur, un objet peut également être appelé une variable de ce type de données.
Une classe est définie comme suit:
class A
{
private:
int data;
public:
void fun(){
}
};
Le polymorphisme en termes simples signifie avoir plusieurs formes. Son comportement est différent dans différentes situations. Et cela se produit lorsque nous avons plusieurs classes qui sont liées les unes aux autres par l’héritage.
Par exemple, pensez à une classe de base appelée Voiture qui possède une méthode appelée marque(). Les classes dérivées de Voiture peuvent être Mercedes, BMW, Audi – et elles ont aussi leur propre implémentation de la méthode marque().
Les deux types de polymorphisme en C++ sont:
- Polymorphisme à la compilation
- Polymorphisme à l’exécution
Le constructeur est une fonction membre qui est exécutée automatiquement à chaque fois qu’un objet est créé. Les constructeurs portent le même nom que la classe dont ils sont membres afin que le compilateur sache que la fonction membre est un constructeur. Et aucun type de retour n’est utilisé pour les constructeurs. Exemple:
class A{
public:
A(){ // constructeur
}
}
void main(){
A a();
}
Une fonction virtuelle est une fonction membre de la classe de base que vous redéfinissez dans une classe dérivée. Une fonction virtuelle est déclarée à l’aide du mot-clé virtual. Lorsque la fonction est rendue virtuelle, C++ détermine quelle fonction doit être invoquée au moment de l’exécution en fonction du type de l’objet pointé par le pointeur de la classe de base. Exemple:
#include <iostream>
using namespace std;
class A {
public:
virtual void print()
{
cout << "print classe A\n";
}
};
class B : public A {
public:
void print()
{
cout << "print classe B\n";
}
};