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

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. Quels sont les différents concepts de la POO en C++?
Les différents concepts POO en C++ sont les suivants :
 

Quest-ce-que-la-POO-1

 

 
 

2. Quels sont les différents types de polymorphisme en C++?
Polymorphisme : Le polymorphisme signifie des formes multiples. Cela signifie avoir plus d’une fonction avec le même nom de fonction mais avec des fonctionnalités différentes.

Le polymorphisme est de deux types :
 


 

Le polymorphisme à l’exécution

Le polymorphisme à l’exécution est également connu sous le nom de polymorphisme dynamique. La redéfinition de fonction est un exemple de polymorphisme d’exécution. La redéfinition de fonction signifie que la classe fils contient la méthode qui est déjà présente dans la classe mère. Par conséquent, la classe fils remplace la méthode de la classe mère. Dans le cas de redéfinition de fonction, la classe mère et la classe fils contiennent toutes deux la même fonction avec une définition différente. L’appel à la fonction est déterminé au moment de l’exécution, c’est ce qu’on appelle le polymorphisme d’exécution.
 

Le polymorphisme à la compilation

Le polymorphisme à la compilation est également connu sous le nom de polymorphisme statique. Le polymorphisme qui est mis en œuvre au moment de la compilation est connu sous le nom de polymorphisme en temps de compilation. La surcharge des méthodes est un exemple de polymorphisme au moment de la compilation.

 

 
 

3. A quoi sert le Namespace (l’espace de noms) en C++.
  • Namespace est une division logique du code qui a pour but d’empêcher les conflits de noms.
  • Namespace définit la portée où sont déclarés les identifiants tels que les variables, les classes et les fonctions.
  • L’objectif principal de l’utilisation des Namespaces en C++ est de supprimer l’ambiguïté. L’ambiguïté se produit lorsque la tâche différente se produit avec le même nom. Par exemple : s’il existe deux fonctions avec le même nom comme add(). Afin d’éviter cette ambiguïté, on utilise Namespace. Les fonctions sont déclarées dans différents Namespace.
  • Le C++ comprend un Namespace standard, c’est-à-dire std, qui contient des classes et des fonctions intégrées. Ainsi, en utilisant l’instruction « using namespace std; », on inclut l’espace de noms « std » dans notre programme.

Syntaxe de Namespace:

namespace namespace_name  
{  
     //body de namespace;  
}

Syntaxe d’accès à une variable d’un Namespace:

namespace_name::variable_name;

 

 
 

4. Quelles opérations sont autorisées sur les pointeurs ?
Voici les opérations qui peuvent être effectuées sur les pointeurs :

  • Incrémenter ou décrémenter un pointeur: Incrémenter un pointeur signifie que nous pouvons incrémenter le pointeur par la taille d’un type vers lequel il pointe.
  • Soustraction d’un pointeur d’un autre pointeur: Lorsque deux pointeurs pointant sur les membres d’un tableau sont soustraits, le nombre d’éléments présents entre les deux membres est renvoyé.

 

 
 

5. Définir ‘std’.
Std est l’espace de nom standard par défaut utilisé en C++.

 

 
 

6. Qu’est-ce qu’une référence en C++ ?
Une référence est comme un pointeur. C’est un autre nom d’une variable déjà existante. Une fois qu’un nom de référence est initialisé avec une variable, cette variable peut être accédée par le nom de la variable ou le nom de la référence. Par exemple:

int x=5;
int &ref=x;           //variable de référence

Si nous changeons la valeur de ref, cela se reproduira dans x. Une fois qu’une variable de référence est initialisée, elle ne peut faire référence à aucune autre variable. Nous pouvons déclarer un tableau de pointeurs mais un tableau de références n’est pas possible.

 

 
 

7. Qu’entendez-vous par abstraction en C++ ?
L’abstraction est le processus qui consiste à montrer les détails essentiels à l’utilisateur et à cacher les détails que nous ne voulons pas montrer à l’utilisateur ou à cacher les détails qui ne sont pas pertinents pour un utilisateur particulier.

 

 
 

8. La surcharge du destructeur est-elle possible ? Si oui, expliquez et si non, pourquoi?
Non, la surcharge des destructeurs n’est pas possible. Les destructeurs ne prennent aucun argument, il n’y a donc qu’une seule façon de détruire un objet delete &obj;. C’est la raison pour laquelle la surcharge des destructeurs n’est pas possible.

 

 
 

9. Qu’entendez-vous par passage par valeur et passage par référence ?
Dans le passage par valeur, nous passons une copie du paramètre aux fonctions. Pour ces valeurs copiées, une nouvelle mémoire est attribuée et les modifications apportées à ces valeurs ne reflètent pas la variable dans la fonction principale.

Dans le passage par référence, nous passons l’adresse de la variable et l’adresse est utilisée pour accéder à l’argument réel utilisé dans l’appel de fonction. Ainsi, les changements apportés au paramètre modifient l’argument passant.

 

 
 

10. Qu’est-ce qu’une classe abstraite et quand l’utiliser ?
Une classe est appelée classe abstraite dont les objets ne peuvent jamais être créés. Ce type de classe existe en tant que classe mère pour les classes dérivées. Nous pouvons rendre une classe abstraite en plaçant une fonction virtuelle pure dans cette classe.

 

 

Laisser un commentaire

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