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.

 

 
 
Partagez cet article

Laisser un commentaire

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