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

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. Combien de types de constructeurs existe-t-il en C++?

A 1

B 2

C 3

D 4

C
Il existe trois types de constructeurs en C++: constructeur par défaut, constructeur paramétré et constructeur de copie.

 

2. Quel est le rôle de destructeur dans une classe?

A Modifier les données à la demande

B Détruire un objet à la fin de son cycle de vie.

C Initialiser les données membres d’un objet lors de sa création

D Appeler des fonctions privées de l’extérieur

B
Les classes utilisent des destructeurs pour détruire un objet une fois que sa durée de vie est terminée, c’est-à-dire pour libérer les ressources occupées par cet objet.

 

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

class A
{
public:
    void show() { cout << "La méthode show() de la classe A"; }
};

class B : private A
{
public:
    void show() { cout << "La méthode show() de la classe B"; }
};

class C : public B
{
public:
    void show() { A::show(); }
};

int main()
{
    C c;
    c.show();
}

A La méthode show() de la classe B
La méthode show() de la classe A

B La méthode show() de la classe A
La méthode show() de la classe B

C La méthode show() de la classe B

D Erreur de compilation

D
Il y a un héritage à plusieurs niveaux dans le code ci-dessus. Notez le spécificateur d’accès dans la classe B class B : private A. Depuis que le spécificateur d’accès privé est utilisé, tous les membres de « A » deviennent privés dans « B ». La classe « C » est une classe héritée de la classe « B ». Une classe héritée ne peut pas accéder aux données privées des membres de la classe parente, mais la méthode show() de la classe C tente d’accéder à un membre privé, c’est pourquoi nous obtenons l’erreur.
 

 

 
 

4. Quelle est la syntaxe pour définir un destructeur de la classe A?

A A::A(){}

B ~A(){}

C ~A(){};

D A(){}

B
Un destructeur commence par le symbole ~ (tilde), porte le même nom que la classe.

 

5. Quand les destructeurs sont appelés?

A Quand un programme se termine

B Quand une fonction se termine

C Lorsque l’opérateur « delete » est utilisé

D Tout les réponses sont vrais

D

 

6. Quelle est la différence entre constructeurs et destructeurs?

A Ils ont un nom différent

B Les constructeurs n’ont pas de type de retour par contre les destructeurs.

C Les constructeurs autorisent les paramètres alors que les destructeurs n’en autorisent pas.

D Tout les réponses sont vrais

C
Les constructeurs et les destructeurs ont le même nom et ils n’ont pas de type de retour, mais les constructeurs autorisent les paramètres, contrairement aux destructeurs.

 

7. Lequel des opérateurs suivants est utilisé pour libérer la mémoire allouée dynamiquement dans C++?

A remove

B free

C delete

D Les deux B et C sont vrais.

C
Nous utilisons le mot-clé « delete » pour libérer la mémoire allouée dynamiquement. L’expression suivante retourne la mémoire au système d’exploitation. delete [] ptr;

 

 
 

8. Quelle est la sortie du code suivant?
#include <iostream> 
#include <string.h> 
using namespace std; 
  
int main() 
{ 
    cout << sizeof("WayToLearnX") << " "; 
    cout << strlen("WayToLearnX"); 
    return 0; 
}

A 11 12

B 12 11

C 11 11

D 12 12

B
L’opérateur Sizeof renvoie la taille de la chaîne, y compris le caractère NULL ‘\0’, de sorte que la sortie est 12. Alors que la fonction strlen() renvoie la longueur exacte de la chaîne sans le caractère NULL, la sortie est donc 11.

 

9. Lequel des énoncés suivants n’est pas une fausse déclaration à propos de l’opérateur new?

A Il ne peut pas être surchargé.

B Il renvoie une valeur de mémoire lorsque l’allocation de mémoire échoue.

C Il calcule automatiquement la taille de l’objet.

D Tout les réponses sont vrais

C
Lorsque vous créez un nouvel objet, la mémoire est allouée à l’aide de l’opérateur new, puis le constructeur est appelé pour initialiser la mémoire.

 

10. Les membres privés de la classe ne sont accessibles qu’aux membres de la même classe.

A Vrai

B Faux

B
Les membres privés d’une classe ne sont accessibles que par d’autres membres de la même classe ou de leurs amis.

 

 
 

Laisser un commentaire

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