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


