QCM sur la programmation orientée objet en C++ – Partie 2
QCM sur 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. À quoi sert les constructeurs?
A Initialiser les objets
B Construire les membres de données
C À la fois initialiser les objets et construire les données membres
D Supprimer les objets
2. Lorsque « struct » est utilisé à la place du mot-clé « class », est ce que quelque chose va changer dans le programme?
A L’accès est public par défaut
B L’accès est privé par défaut
C L’accès est protégé par défaut
D L’accès est refusé
3. Quel constructeur de classe est appelé dans le code C++ suivant?
#include<iostream> using namespace std; class A { public: A() { cout << " Le constructeur de la classe A est appelé." << endl; } }; class B { public: B() { cout << " Le constructeur de la classe B est appelé." << endl; } }; class C: public A, public B { public: C() { cout << " Le constructeur de la classe C est appelé." << endl; } }; int main() { C c; return 0; }
A Classe C
B Classe A et B
C Classe A, B et C
D Erreur de compilation.
4. Supposons que la taille d’un entier est 4 octets, quelle est la sortie du code suivant?
#include<iostream> using namespace std; class A { int tab[10]; }; class B: public A { }; class C: public A { }; class D: public B, public C {}; int main(void) { cout << sizeof(D); return 0; }
A 4
B 40
C 80
D 160
5. Quelle est la sortie du code suivant?
#include<iostream> using namespace std; class A { private: int val; public: A(int v = 0) : val(v) {} void display() { cout << "val = " << val << endl;} }; class B { private: int val; public: B(int v) : val(v) {} operator A() const { return A(val); } }; void f(A a) { a.display(); } int main() { B b(5); f(b); f(55); return 0; }
A val = 5 et val = 5
B val = 5 et val = 55
C val = 5
D val = 55
6. Comment les objets sont auto-référencés dans une fonction membre de classe?
A Utiliser * avec le nom de cet objet
B Utilisation le mot-clé « object »
C Utiliser le pointeur « this »
D En passant « self » comme paramètre dans la fonction membre
7. Que signifie un membre mutable d’une classe?
A Un membre qui ne peut jamais être modifié
B Un membre qui ne peut être modifié que s’il n’est pas membre d’un objet constant
C Un membre qui peut être modifié même s’il est membre d’un objet constant
D Un membre qui est global dans toute la classe
8. Quelle est la sortie du code suivant?
#include<iostream> using namespace std; class A { public: void show() { cout <<" show du classe A"; } }; class B : public A { public: void show() { cout <<" show du classe B"; } }; class C: public B { }; int main(void) { C c; c.show(); return 0; }
A « show du classe A »
B « show du classe B »
C Les deux A et B sont vrais.
D Aucune de ces réponses n’est vraie.
9. Choisissez la bonne déclaration.
A Les macros et les fonctions inline sont la même chose.
B Les macros ressemblent à des appels de fonction mais ne le sont pas.
C Les fonctions inline ressemblent à des fonctions mais ne le sont pas.
D Les fonctions inline sont toujours grandes.
10. Quelle est la sortie du code C++ suivant?
#include <iostream> using namespace std; class A { int s; public: #define ABC(A::s) }; int main(int argc, char const *argv[]) { cout << "Welcome to WayToLearnX!"; return 0; }
A Welcome to WayToLearnX!
B Erreur de compilation
C Segmentation Fault
D Aucune sortie.