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

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 qu’un objet ?
L’objet est l’instance d’une classe. Une classe fournit un squelette pour les objets. Vous pouvez donc créer un objet à partir d’une classe. Les objets d’une classe sont déclarés avec le même type de déclaration que nous déclarons les variables de types de base.

 

 
 

2. Discutez de la différence entre préfixe et postfixe ?
Dans le préfixe (++i), on incrémente d’abord la valeur, puis on attribue la valeur à l’expression.

Dans le cas du postfixe (i++), la valeur est attribuée à l’expression, puis la valeur de la variable est incrémentée.

 

 
 

3. Quelle est la différence entre new() et malloc()?
  • new() est un préprocesseur alors que malloc() est une fonction.
  • Il n’est pas nécessaire d’allouer la mémoire en utilisant « new » mais dans malloc() vous devez utiliser sizeof().
  • « new » initialise la nouvelle mémoire à 0 alors que malloc() donne une valeur aléatoire dans l’emplacement mémoire nouvellement alloué.
  • L’opérateur new() alloue la mémoire et appelle le constructeur pour l’initialisation de l’objet et la fonction malloc() alloue la mémoire mais n’appelle pas le constructeur pour l’initialisation de l’objet.
  • L’opérateur new() est plus rapide que la fonction malloc() car l’opérateur est plus rapide que la fonction.

 

 
 

4. Définir la fonction ami en C++
La fonction amie agit comme un ami de la classe. Elle peut accéder aux membres privés et protégés de la classe. La fonction amie n’est pas membre de la classe, mais elle doit être mentionnée dans la définition de la classe. La fonction non membre ne peut pas accéder aux données privées de la classe. Parfois, il est nécessaire que la fonction non membre accède à ces données. La fonction amie est une fonction non membre et a la possibilité d’accéder aux données privées de la classe.

Pour rendre une fonction extérieure ami à la classe, nous devons déclarer la fonction comme amie de la classe, comme indiqué ci-dessous :

class A  
{  
 public:  
	friend void myFunction(void);  
};

 

 
 

5. Quand faut-il utiliser l’héritage multiple ?
Si vous constatez que le domaine du problème ne peut être modélisé avec succès par aucun autre moyen.

 

 
 

6. Qu’est-ce qu’une erreur de débordement (StackOverflowError)?
Il s’agit d’un type d’erreur arithmétique. Elle se produit lorsque le résultat d’une opération arithmétique est supérieur à l’espace réel fourni par le système.

 

 
 

7. Que signifie « surcharge » ?
  • On parle de surcharge lorsqu’un seul objet se comporte de plusieurs façons. Un objet unique a le même nom, mais il fournit différentes versions de la même fonction.
  • Le C++ vous permet de spécifier plus d’une définition pour un nom de fonction ou un opérateur dans la même portée. Cela s’appelle respectivement surcharge de fonction et surcharge d’opérateur.

La surcharge est de deux types:
 

 

 
 

8. En quoi consiste la redéfinition d’une fonction?
La redéfinition de fonction est une fonctionnalité qui nous permet d’avoir une même fonction dans la classe fille qui est déjà présente dans la classe mère.

 

 
 

9. Quel est le but de l’opérateur « delete »?
L’opérateur « delete » est utilisé pour libérer la mémoire dynamique créée par l’opérateur « new ».

 

 
 

10. A quoi sert le pointeur « this »?
Le pointeur « this » contient l’adresse de l’objet actuel.

 

 

2 réflexions sur “Top 50 Questions d’Entretien en Langage C++ – Partie 4

  • juin 20, 2022 à 2:26 pm
    Permalien

    Bonjour,
    Vous avez une faute dans la question 2 du « Top 50 Questions d’Entretien en Langage C++ – Partie 4 »
    Vous avez écrit « Dans le cas du préfixe (i++) » or (i++) n’est pas un préfixe, c’est un postfixe .

    Répondre
    • juin 20, 2022 à 4:13 pm
      Permalien

      Merci pour cette remarque 🙂

      Répondre

Laisser un commentaire

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