Vous êtes sur la page 1sur 1

 ESPRIT-Moodle Français (fr)  2

  Mouadh El Amri

 Programmation
Orientée Objet C++ 2A Programmation Orientée Objet C++ 2A
Accueil / Mes cours / Cours classés par département / Tronc commun / Algo & Programmation / Programmation Orientée Objet C++ 2A
 Participants
/ Constructeur/Destructeur / Quizz 3 : Quizz Constructeur/Destructeur_S1_20/21

 Badges

 Compétences Commencé le dimanche 11 octobre 2020, 14:56 Navigation du test


État Terminé 1 2 3 4 5 6 7 8 9
 Notes
Terminé le dimanche 11 octobre 2020, 15:01
Temps mis 4 min 51 s 10
 Accueil Note 19,00 sur 20,00 (95%)

 Tableau de bord Afficher une page à la fois


Question 1
A quoi sert un constructeur?  Terminer la relecture
Correct
 Calendrier
Note de 2,00 sur
2,00
 Fichiers personnels Veuillez choisir une réponse :
Marquer la
question a. A détruire tous les objets
 Mes cours
b. A déclencher les méthodes 

 Programmation c. A regrouper une série d'initialisations qui sera répétée


Orientée Objet C++ 2A pour chaque objet créé 

La réponse correcte est : A regrouper une série d'initialisations


qui sera répétée pour chaque objet créé

Question 2
Lorsque vous créez une classe ,laquelle de ces composantes est
Correct
la plus importante  ?
Note de 2,00 sur
2,00

Marquer la
question

Veuillez choisir une réponse :


a.
Les méthodes d’accès.

b. Les constructeurs.

c.
Les attributs et les méthodes  

La réponse correcte est :


Les attributs et les méthodes 

Question 3 Donnez le résultat de ce code :


Correct
#include <iostream>
Note de 2,00 sur using namespace std;
2,00
 
Marquer la class Point
question
{
int x, y;
public:
Point(int i = 0, int j = 0) { x = i; y = j; }
int getX() { return x; }
int getY() { return y; }
};
 
int main()
{
Point p1;
Point p2 = p1;
cout << "x = " << p2.getX() << " y = " << p2.getY();
return 0;
}

Veuillez choisir une réponse :


a. x = valeur de déchets y = valeur de déchets

b. x=0 y=0 

c. Erreur de compilation

Votre réponse est correcte.


Le compilateur crée un constructeur de copie si nous n'écrivons
pas le notre. Le compilateur l'écrit même si nous avons écrit
d'autres constructeurs en classe. Donc, le programme ci-dessus
fonctionne bien. Comme nous avons des arguments par défaut,
les valeurs assignées à x et y sont 0 et 0.
La réponse correcte est : x=0 y=0

Question 4
Comment faire une allocation dynamique en c++?
Partiellement
correct

Note de 1,00 sur


2,00

Marquer la Veuillez choisir au moins une réponse :


question
a. int* variable = alloc(int)

b. int* variable = new int

c. int* variable = new int( ) 

Les réponses correctes sont : int* variable = new int, int* variable
= new int( )

Question 5 Quelle est l'affichage du programme suivant?


Correct
#include<iostream>
Note de 2,00 sur using namespace std;
2,00
class Point {
Marquer la Point() { cout << "Constructor called"; }
question
};
 
int main()
{
Point t1;
return 0;
}

Veuillez choisir une réponse :


a. Erreur d'exécution

b. Erreur de compilation 

c. Constructeur appelé

Votre réponse est correcte.


Par défaut, tous les membres d'une classe sont
privés. Puisqu'aucun spécificateur d'accès n'existe pour Point (),
il devient privé et est appelé en dehors de la classe lorsque t1
est construit dans main.
La réponse correcte est : Erreur de compilation

Question 6 Combien d’instances de la classe A crée le code suivant ?


Correct
A x,u,v; 
Note de 2,00 sur x=new A(); 
2,00
A y=x; 
Marquer la
question
Veuillez choisir une réponse :
a. 3

b. 4

c. erreur de compilation  A n'est pas un pointeur.

d. 5

La réponse correcte est : erreur de compilation

Question 7 Prédisez la sortie du programme suivant.


Correct
#include<iostream>
Note de 2,00 sur #include<stdlib.h>
2,00
using namespace std;
Marquer la  
question
class Test
{
public:
Test()
{ cout << "Constructor called"; }
};
 
int main()
{
Test *t = (Test *) malloc(sizeof(Test));
return 0;
}

Veuillez choisir une réponse :


a. Constructeur appelé

b. Erreur de compilation

c. Vide 

d. Erreur d'exécution

Votre réponse est correcte.

Contrairement à new, malloc () n'appelle pas le constructeur. Si


nous remplaçons malloc () avec new, le constructeur est appelé.
La réponse correcte est : Vide

Question 8 Donnez la sortie de ce code :


Correct
#include<iostream>
Note de 2,00 sur using namespace std;
2,00
class Point {
Marquer la public:
question
Point() { cout << "Constructor called"; }
};
 
int main()
{
Point t1, *t2;
return 0;
}

Veuillez choisir une réponse :


a. Erreur de compilation

b. Erreur d’exécution

c. Constructeur appelé 

Votre réponse est correcte.

Un seul objet t1 est construit ici. t2 est juste est un pointeur, pas
un objet
La réponse correcte est : Constructeur appelé

Question 9
Quelle est la signature la plus juste du constructeur de copie
Correct
d'une classe T ?
Note de 2,00 sur
2,00

Marquer la
question Veuillez choisir une réponse :
a.
T::T(T original) { … }

b.

T::T(const T & original) { … } 

c.

T::T( ) const { … }

La réponse correcte est :

T::T(const T & original) { … }

Question 10
Comment peut-on différencier un constructeur? 
Correct

Note de 2,00 sur


2,00
Veuillez choisir une réponse :
Marquer la
question a. Grâce au fait qu'il n'ait aucun type de retour (même pas
de void) 

b. il prend le nom de la classe et il retourne toujours une


valeur de type int

c. Grâce au fait qu'il commence par ce symbole ~

La réponse correcte est : Grâce au fait qu'il n'ait aucun type de


retour (même pas de void)

Terminer la relecture


Aller à… Exercice 5 TD3 ►
TD3_Constructeur_Destructeur

Connecté sous le nom « Mouadh El Amri » (Déconnexion)


Programmation C++ 2A
Obtenir l'app mobile

Vous aimerez peut-être aussi