QCM sur la programmation orientée objet en C++ – Partie 1

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. Que contient une classe en C++?

A Données

B Fonctions

C Les données et les fonctions

D Des tableaux

C
Les classes en C++ encapsulent (c’est-à-dire, mettent ensemble) toutes les données et fonctions qui leur sont associées à des fins de manipulation.

 

2. Combien de spécificateurs d’accès existe?

A 1

B 2

C 3

D 4

C
Il existe trois types de spécificateurs d’accès. Ils sont « public », « protected » et « private ».

 

3. ___ est utilisé pour définir un membre d’une classe extérieurement?

A #

B ::

C !! $

D :

B
L’opérateur :: est utilisé pour définir le corps de toute fonction de classe en dehors de la classe.

 

4. Quel opérateur, un objet pointeur d’une classe utilise pour accéder à ses membres de données et à ses fonctions membres?

A ::

B .

C ->

D :

C
L’opérateur -> est utilisé par un objet pointeur pour accéder aux membres de sa classe.

 

 
 

5. Supposons que les entiers prennent 4 octets, quelle est la sortie du code suivant?
#include<iostream>
  
using namespace std;    
  
class MaClasse 
{ 
  static int a; 
  int b; 
}; 
  
int MaClasse::a; 
  
int main() 
{ 
    cout << sizeof(MaClasse); 
    return 0; 
}

A 4

B 8

C 16

D Aucune de ces réponses n’est vraie.

A
Les membres de données statiques ne contribuent pas à la taille d’un objet. Donc, « a » n’est pas pris en compte dans la taille de « MaClasse ». D’ailleurs, toutes les fonctions (statiques et non statiques) ne contribuent pas à la taille.

 

6. Quelle est la sortie du code suivant?
#include <iostream>
using namespace std;
class MaClasse
{
	int var;
 
   public:
	int write(int i) const {
		var = i;
	}
	int read() const {
		return var;
	}
};
int main(int argc, char const *argv[])
{
	MaClasse obj;
	obj.write(2);
	cout << obj.read();
}

A 2

B 3

C Erreur de compilation

D Aucune de ces réponses n’est vraie.

C
Comme write() est une fonction constante, donc il ne peut pas changer l’état d’un objet. Dans la fonction « write » nous essayons de modifier le membre « var » de l’objet, donc le programme affiche une erreur.
 

 

7. Quelle est la sortie du code suivant?
#include <iostream>

using namespace std;

class calculer {
    int x, y;
	
    public:
    void val(int, int);
    int somme() {
        return (x + y);
    }
};
void calculer::val(int a, int b) {
    x = a;
    y = b;
}
int main() {
    calculer calculer;
    calculer.val(5, 10);
    cout << "La somme = " << calculer.somme();
    return 0;
}

A La somme = 5

B La somme = 10

C La somme = 15

D Erreur parce que calculer est utilisé comme nom de classe et nom de variable dans la ligne 19.

C
Il est possible d’utiliser le nom de classe comme nom de variable, dans ce programme, nous calculons la somme de deux nombres.
 

 

 
 

8. Lequel est une déclaration de classe valide?

A public classe A {}

B classe A {}

C classe A {int x;};

D object A {int x;};

C
Une déclaration de classe se termine par un point-virgule et commence par le mot clé « class ». seule l’option (a) suit ces règles, donc classe A {int x;}; est correct.

 

9. Les membres d’une classe en C++ sont par défaut __________

A private

B protected

C public

D public et protected

A
Par défaut, tous les membres de données et les fonctions membres de la classe sont privés.

 

10. Quelle est la syntaxe correcte pour accéder à un membre statique d’une classe?
class A
{
	public:
		static int val;
}

A A->val

B A.val

C A::val

D A^val

C
L’opérateur de résolution de portée :: est utilisé pour accéder à un membre statique d’une classe.

 

 
 

Une réflexion sur “QCM sur la programmation orientée objet en C++ – Partie 1

  • mai 6, 2022 à 12:12 pm
    Permalien

    Bonjour cher(es) développeur (es)!
    Votre site un lieu d’apprentissage très exceptionnel pour l’autoformation, il m’as permis d’améliorer mes connaissances en programmation, je vous remercie…

    Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *