QCM sur la programmation orientée objet en C++ – Partie 6
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. Les membres d’une classe peuvent être déclarés avec les classes auto, extern ou register.
A Vrai
B Faux
2. Lequel des opérateurs suivants ne peut pas être surchargé lorsque cette fonction est déclarée en tant qu’une fonction amie d’une classe?
A -=
B []
C ||
D ==
3. Lequel des opérateurs suivants peut être surchargé lorsque cette fonction est déclarée en tant qu’une fonction amie d’une classe?
A ()
B []
C ->
D |=
4. Quelle est la sortie du code suivant?
class A { int y; }; class B { int x; A a; public: operator A() { return a; } operator int() { return x; } }; void myFunction ( int x ) { }; void myFunction ( A a ) { }; int main() { B b; myFunction(b); return 0; }
A Le code fonctionne correctement.
B Le code génère une erreur.
C Le code n’affiche rien.
D Aucune de ces réponses n’est vraie.
5. Parmi les propositions suivantes, laquelle définit le mieux la syntaxe d’une fonction template?
A Template
B Template returnType FunctionName(Parameters)
C Les deux A et B sont vrais.
D Aucune de ces réponses n’est vraie.
6. Quelle est la sortie du code suivant?
#include<iostream> using namespace std; class A { int a; public: void display() { } }; class B { int b; public: virtual void display() { } }; int main(void) { cout << sizeof(A) << " "; cout << sizeof(B) << endl; return 0; }
A 4 16
B 8 4
C 4 4
D 8 8
7. Quelle est la sortie du code suivant?
#include<iostream> using namespace std; int main() { int a = 10; int b ; b = a++; cout << b; return 0; }
A 10
B 11
C 9
D 0
8. Les pointeurs génériques peuvent être déclarés avec le mot-clé ______.
A auto
B asm
C void
D Aucune de ces réponses n’est vraie.
9. Quelle est la sortie du code suivant?
#include<iostream> using namespace std; class A { public: virtual void afficher() = 0; }; class B : public A { int val; }; int main(void) { B b; return 0; }
A Le code retourne 0.
B Le code génère une erreur.
C Le code n’affiche rien.
D Aucune de ces réponses n’est vraie.
10. Lesquels des énoncés suivants sont vrais concernant les constructeurs?
A Une classe peut avoir plus d’un constructeur.
B Ils peuvent être hérités.
C Leur adresse peut être référée.
D Les constructeurs ne peuvent pas être déclarés dans la section « protected » d’une classe.
E Les constructeurs ne peuvent pas renvoyer de valeurs.