QCM sur la programmation orientée objet en C++ – Partie 8
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. Qu’est-ce qu’un constructeur de copie?
A Un constructeur permet à un utilisateur de déplacer des données d’un objet à un autre.
B Un constructeur pour initialiser un objet avec les valeurs d’un autre objet.
C Un constructeur pour vérifier si les objets sont égaux ou non.
D Un constructeur pour détruire d’autres copies d’un objet donné.
2. Quelle est la sortie du code suivant?
#include <iostream> using namespace std; int f(int a, int b = 2, int c = 4) { return (a + b + c); } int main() { cout << f(1, ,8); return 0; }
A 7
B 14
C 3
D Erreur de compilation.
3. La classe X, la classe Y et la classe Z héritent de la classe A. Il s’agit d’un héritage ______
A À plusieurs niveaux
B Hiérarchique
C Multiple
D Simple
4. Quelle est la sortie du code suivant?
#include<iostream> using namespace std; class MaClasse { private: int val; public: void setX (int val) { MaClasse::val = val; } void print() { cout << "val = " << val << endl; } }; int main() { MaClasse obj; int val = 10; obj.setX(val); obj.print(); return 0; }
A 10
B Le code n’affiche rien.
C Erreur de compilation.
D Aucune de ces réponses n’est vraie.
5. Combien de paramètres un constructeur par défaut requiert-il?
A 0
B 1
C 2
D 3
6. Quelle est la sortie du code suivant?
#include <iostream> using namespace std; class MaClasse { int val; public: MaClasse(int v){ val = v; } void show(){ cout << val << endl; } }; int main() { MaClasse obj[2]; obj[0].show(); obj[1].show(); return 0; }
A 0 1
B 2
C Erreur de compilation.
D Aucune de ces réponses n’est vraie.
7. En quoi les constructeurs sont-ils différents des autres fonctions membres de la classe?
A Le constructeur a le même nom que la classe elle-même.
B Les constructeurs ne renvoient rien.
C Les constructeurs sont automatiquement appelés lorsqu’un objet est créé.
D Tout les réponses sont vrais.
8. Quelle est la sortie du code suivant?
#include <iostream> using namespace std; class MaClasse { int id; static int i; public: MaClasse() { i++; id = i; cout << " Constructeur appelé " << id << endl; } ~MaClasse() { cout << " Destructeur appelé " << id << endl; } }; int MaClasse::i = 0; int main() { MaClasse obj[2]; return 0; }
A Constructeur appelé 1
Constructeur appelé 2
Destructeur appelé 2
Destructeur appelé 1
B Constructeur appelé 2
Constructeur appelé 1
Destructeur appelé 1
Destructeur appelé 2
C Constructeur appelé 1
Constructeur appelé 2
Destructeur appelé 2
Destructeur appelé 2
D Aucune de ces réponses n’est vraie.
9. Peut-on surcharger une fonction template ?
A Oui
B Non
10. Les variables statiques déclarées dans une classe sont également appelées _________.
A Variable d’instance
B Constante nommée
C Variable globale
D Variable de classe