QCM sur la programmation orientée objet en C++ – Partie 7
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. Quelle est la sortie du code C++ suivant?
#include<iostream> using namespace std; int main() { int x = 2, y = 2; cout << ++x << " " << --y << endl; return 0; }
A 2 2
B 1 3
C 3 1
D 1 3
2. Lesquels des énoncés suivants sont vrais concernant une fonction membre statique?
A Ils peuvent accéder aux membres de données non statiques.
B Ils peuvent appeler d’autres fonctions membres statiques.
C Ils peuvent accéder aux fonctions et données globales.
D Ils peuvent utiliser le pointeur « this ».
E Ils ne peuvent pas être déclarés comme « const » ou « volatile ».
3. Quelle est la sortie du code C++ suivant?
#include<iostream> using namespace std; class A { public: virtual void myFunction() {cout << "A" << " " ;} }; class B: public A { public: virtual void myFunction() {cout << "B" << " ";} }; class C: public B { public: virtual void myFunction() {cout << "C" << " ";} }; int main() { A *a = new C; A *b = new B; a->myFunction(); b->myFunction(); return 0; }
A A B
B B C
C C B
D A C
4. La variable statique doit être déclarée dans la section publique de la classe?
A Vrai
B Faux
5. Quelle est la sortie du code C++ suivant?
#include<iostream> using namespace std; int main() { int n1 = 1; int n2 = 2; int n3 = 3; n1 = n2++; n2 = --n3; cout << n1 << " " << n2 << " " << n3; return 0; }
A 3 2 2
B 2 2 2
C 3 2 1
D 3 3 2
6. Choisissez la bonne déclaration:
A La pré-incrémentation est plus rapide que la post-incrémentation
B La post-incrémentation est plus rapide que la pré-incrémentation
C La pré-incrémentation est plus lent que la post-incrémentation
D Aucune de ces réponses n’est vraie.
7. Quelle est la sortie du code C++ suivant?
#include<iostream> using namespace std; class A { private: int val; public: A(const A&a) { val = a.val; } void setVal(int v) {val = v;} int getVal() {return val;} void print() { cout << "val = " << getVal(); } }; int main() { A a1; a1.setVal(10); A a2 = a1; a2.print(); return 0; }
A 10
B Le code n’affiche rien.
C Erreur de compilation
D Aucune de ces réponses n’est vraie.
8. Quel est le rôle du constructeur dans les classes?
A Modifier les données à la demande
B Détruire un objet
C Initialiser les données membres d’un objet lors de sa création
D Appeler des fonctions privées de l’extérieur
9. Par défaut, si une fonction avec un minimum de lignes de code est déclarée et définie dans la classe, donc elle devient une fonction Inline.
A Vrai
B Faux
10. Quelle est la sortie du code C++ suivant?
#include<iostream> using namespace std; int main() { int *p = new int(10); cout << *p; return 0; }
A 10
B NULL
C Erreur de compilation.
D Aucune de ces réponses n’est vraie.