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.





