Top 50 Questions d’Entretien en Langage C++ – Partie 1

Questions d’Entretien sur le langage C++ avec des réponses pour la préparation des entretiens d’embauche, tests en ligne, examens et certifications. Ces questions et réponses sur le langage C++ comprennent divers sujets tel que les bases du langage C++, les boucles, les fonctions, les tableaux, les pointeurs, les structures des données, etc… Et sont tirés d’un vrai entretien écrit et certaines parties sont en direct. Cette méthode d’apprentissage systématique préparera facilement toute personne pour réussir son test sur le langage C++.
 
 

1. Qu’est-ce que le C++?
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++.

 

 
 

2. Quels sont les avantages de C++?
Le C++ ne se contente pas de maintenir tous les aspects du langage C, il simplifie également la gestion de la mémoire et ajoute plusieurs fonctionnalités:

  • C++ est un langage hautement portable, ce qui signifie que les logiciels développés avec le langage C++ peuvent fonctionner sur n’importe quelle plate-forme.
  • C++ est un langage de programmation orienté objet qui inclut des concepts tels que les classes, les objets, l’héritage, le polymorphisme, l’abstraction.
  • Le C++ possède le concept d’héritage. Grâce à l’héritage, on peut éliminer le code redondant et réutiliser les classes existantes.
  • Le masquage des données aide le programmeur à construire des programmes sécurisés afin que le programme ne puisse pas être attaqué par les intrus.
  • Le passage de messages est une technique utilisée pour la communication entre les objets.
  • Le C++ contient une bibliothèque riche de fonctions.

 

 
 

3. Quels sont les différents types de données présents en C++?
Les 4 types de données en C++ sont donnés ci-dessous:

  • Type de données primitif (type de données de base). Exemple : char, short, int, float, long, double, bool, etc.
  • Type de données dérivé. Exemple : tableau, pointeur, etc.
  • Enumération. Exemple : enum.
  • Types de données définis par l’utilisateur. Exemple : structure, class, etc.

 

 
 

4. Quelle est la différence entre C et C++ ?
C
C++
Le C est un langage de programmation orienté procédural. Le C++ est un langage de programmation orienté objet.
Le langage C ne prend pas en charge le masquage des données. Les données sont cachées par encapsulation afin de garantir que les structures de données et les opérateurs sont utilisés comme prévu.
La surcharge de fonctions et d’opérateurs n’est pas supportée en C La surcharge des fonctions et des opérateurs est supportée en C++.
Namespace n’est pas présente en C Namespace est utilisé par le C++, ce qui évite les collisions de noms.
Les fonctions ne peuvent pas être définies à l’intérieur des structures. Les fonctions peuvent être définies à l’intérieur des structures.
Les fonctions calloc() et malloc() sont utilisées pour l’allocation de mémoire et la fonction free() est utilisée pour la désallocation de mémoire. L’opérateur new est utilisé pour l’allocation de mémoire et l’opérateur deletes est utilisé pour la désallocation de mémoire.

 

 
 

5. Que représentent les classes et les objets en 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(){

	 }
};

 

 
 

6. Quelle est la différence entre struct et class?
Structure
Class
Les membres de la structure sont publics par défaut. Les membres de la classe sont privés par défaut.
Lorsqu’une structure est dérivée d’une classe/structure, les spécificateurs d’accès par défaut de la classe/structure de base sont publics. Lorsque l’on dérive une classe, les spécificateurs d’accès par défaut sont privés.

 

 
 

7. Qu’est-ce que la surcharge d’opérateurs?
La surcharge d’opérateurs est un élément essentiel pour effectuer les opérations sur les types de données définis par l’utilisateur. En surchargeant les opérateurs, nous pouvons modifier la signification par défaut des opérateurs tels que +, -, *, /, <=, etc.

 

 
 

8. Qu’est-ce que le polymorphisme en C++ ?
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

 

 
 

9. Expliquer le rôle du constructeur en C++
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();     
}

 

 
 

10. A quoi sert une fonction virtuelle en C++?
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";
    }
};

 

 

Laisser un commentaire

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