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.







