QCM sur la programmation orientée objet en C++ – Partie 10

QCM sur la programmation orientée objet en C++ avec des réponses pour la préparation des concours, des tests en ligne, examens et aux certifications. Ces questions et réponses sur C++ comprennent divers sujets. Et sont tirés d’un vrai concours écrit. Cette méthode d’apprentissage systématique préparera facilement toute personne pour réussir son test sur C++.
 
 

1. Les fonctions Inline peuvent ne pas fonctionner ______.

A Si la fonction contient des variables statiques.

B Si la fonction contient des variables globales et des variables de registre.

C Si la fonction est récursive.

D Si la fonction contient une valeur constante.

A, C

 

2. Combien de destructeurs sont autorisés dans une classe?

A 1

B 2

C 3

D Un nombre quelconque.

A
Une classe en C++ n’autorise qu’un seul destructeur, appelé à chaque fin de vie d’un objet.

 

3. Quelle est la sortie du code suivant?
#include <iostream> 
using namespace std;

class A 
{
  public: 
     A(); 
    ~A(); 
}; 
A::A() 
{ 
    cout << "Le constructeur est exécuté\n"; 
} 
A::~A() 
{ 
    cout << "Le destructeur est exécuté\n"; 
} 
int main() 
{ 
    delete new A(); 
    return 0; 
}

A Le constructeur est exécuté
Le destructeur est exécuté

B Le destructeur est exécuté

C Le constructeur est exécuté

D Erreur de compilation.

A
L’instruction dans la ligne 20 créera un objet de la classe A sans qu’aucun pointeur ne le pointe.
 

 

 
 

4. Lesquels des énoncés suivants sont correct à propos d’une fonction ami?

A Il peut être appelé avec un objet de classe.

B Il peut avoir des objets comme arguments.

C Il peut avoir des types primitifs comme arguments.

D Il doit être déclarer seulement dans la partie public d’une classe.

E Il ne possède pas le pointeur « this » comme argument.

B, C, E

 

5. Quelle est la sortie du code suivant?
#include <iostream>
#include <iomanip>
using namespace std;

int main()
{
    int x = 123;
    cout << setfill('*') << setw(6) << x;
    return 0;
}

A 123***

B **123

C ***123

D ******

C
La fonction « setfill » définit le caractère de remplissage du flux, et la fonction « setw » définit le paramètre width du flux sur n.

 

6. Lequel des instructions suivants représente une appel explicite au constructeur de classe A?
class A{
	int val;
	
	public:
		A(int v)
		{
			val = v;
		}
}

A A a = A();

B A a = A(2);

C A a(2);

D A a;

B
A a = A(); n’est pas correct car aucun constructeur de ce type n’existe dans la classe A.

 

7. Pour créer une fonction virtuelle pure, nous utilisons _______?

A $

B =0

C %

D &

B
Pour créer une méthode en tant que fonction virtuelle pure, nous devons ajouter ‘=0’ à la fin d’une fonction.

 

 
 

8. Choisissez l’expression correct.

A Nous ne pouvons pas créer une instance d’une classe abstraite

B On peut créer une instance d’une classe abstraite

C On peut créer une instance d’une super classe abstraite

D Aucune de ces réponses n’est vraie.

A
Nous ne pouvons pas créer une instance d’une classe abstraite.

 

9. Lors de l’héritage de classe en C++, si le mode de visibilité n’est pas fourni, le mode de visibilité par défaut est ___________.

A public

B protected

C private

D Friend

C

 

10. L’héritage d’une classe fille de la classe mère est indiquée par le symbole ____.

A |

B ::

C :

D ;

C

 

 
 

2 réflexions sur “QCM sur la programmation orientée objet en C++ – Partie 10

  • juin 18, 2022 à 5:19 pm
    Permalien

    Question 5 : la bonne réponse est C et pas B. Le code affiche « ***123 »

    Répondre
    • juin 19, 2022 à 12:16 am
      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 *