Test simulé C ++

Cette section vous présente divers ensembles de tests simulés liés à C++ Framework. Vous pouvez télécharger ces exemples de tests simulés sur votre ordinateur local et les résoudre hors ligne à votre convenance. Chaque test fictif est fourni avec une clé de test fictif pour vous permettre de vérifier le score final et de noter vous-même.

Test simulé C ++ I

Q 1 - Le spécificateur d'accès par défaut pour les membres de la classe est

A - public

B - privé

C - protégé

D - Aucune de ces réponses.

Réponse: B

Explication

Si un ou plusieurs membres apparaissent dans la classe sans spécificateur d'accès, la valeur par défaut est privée.

Q 2 - Un caractère trigraphe commence par

A - #

B - ##

C -?

D - ??

Réponse: C

Explication

Peu de personnages ont une représentation alternative et commencent par ??. Par exemple. Fro [l'équivalent est ?? (

Réponse: D

Explication

C ++ prend en charge toutes les formes d'héritage.

Réponse: A

Explication

Au fur et à mesure que la fonction en ligne est développée sur la ligne d'appel comme une macro, elle s'exécute plus rapidement.

Q 5 - Choisissez la définition de fonction virtuelle pure parmi les suivantes.

A - vide virtuel f () = 0 {}

B - vide virtuel f () = 0 {}

C - vide virtuel f () {} = 0;

D - Aucune de ces réponses.

Réponse: D

Explication

Une fonction virtuelle pure ne peut pas avoir de définition.

Q 7 - Quel est le résultat du programme suivant?

#include<iostream>
using namespace std;
class abc { 
   void f();
   void g();
   int x;
};
main() {
   cout<<sizeof(abc)<<endl;
}

A - 12

B - 4

C - 8

D - Erreur de compilation

Réponse: B

Explication

Seules les variables membres de la classe constituent la taille de la classe ou de son objet.

#include<iostream>
using namespace std;
class abc { 
   void f();
   void g();
   int x;
};
main() {
   cout<<sizeof(abc)<<endl;
}

Q 8 - Quel est le résultat du programme suivant?

#include<iostream>
using namespace std;
class abc { 
   public: 
      static int x; 
      int i; 
      abc() {
         i = ++x;
      }
   };
int abc::x;
main() { 
   abc m, n, p;
   
   cout<<m.x<<" "<<m.i<<endl;
}

A - 3 1

B - 3 3

C - 1 1

D - 1 3

Réponse: A

Explication

La variable membre statique «x» partage la mémoire commune de tous les objets créés pour la classe.

#include<iostream>
using namespace std;
class abc { 
   public: 
      static int x; 
      int i; 
      abc() {
         i = ++x;
      }
   };
int abc::x;
main() { 
   abc m, n, p;
   
   cout<<m.x<<" "<<m.i<<endl;
}

Q 9 - Un constructeur peut être virtuel.

A - Vrai

B - Faux

Réponse: B

Explication

Le but du constructeur ne peut pas être remplacé dans la classe dérivée par conséquent le constructeur ne peut pas être un virtuel.

Q 10 - Choisissez l'opérateur qui ne peut pas être surchargé.

A - /

B - ()

C - ::

D -%

Réponse: C

Explication

La résolution de la portée (: :) ne peut pas être surchargée.

Q 11 - Quel opérateur doit être surchargé en tant que fonction membre uniquement?

A - _

B - _ _

C - ++ (version postfix)

D - =

Réponse: D

Explication

L'opérateur d'affectation surchargé effectue le travail de la même manière que le constructeur de copie et doit être surchargé en tant que fonction membre de la classe.

Q 12 - Lequel des éléments suivants n'est pas le mot clé en C ++?

A - volatile

B - ami

C - étend

D - ce

Réponse: C

Explication

Tous les autres sont des mots clés valides de C ++.

Q 13 - Quel est le résultat du programme suivant?

#include<iostream>
using namespace std;
class abc { 
   public: 
      int i; 
      abc(int i) { 
         i = i;
      }
};
main() { 
   abc m(5); 
   
   cout<<m.i;
}

A - 5

B - Ordures

C - Erreur à l'instruction i = i;

D - Erreur de compilation: «i» déclaré deux fois.

Réponse: B

Explication

i = i, s'attribue une variable membre à elle-même.

#include<iostream>
using namespace std;
class abc { 
   public: 
      int i; 
      abc(int i) { 
         i = i;
      }
};
main() { 
   abc m(5); 
   
   cout<<m.i;
}

Réponse: C

Explication

Si aucun spécificateur d'accès n'est spécifié pour les variables / fonctions de structure, la valeur par défaut est considérée comme publique.

Q 15 - Dans la classe ci-dessous, choisissez la définition appropriée de la fonction membre f ().

template <class T>
class abc {
   void f();
};

A - modèle <classe T>

    void abc <T> :: f () {}

B - modèle <classe T>

    void abc :: f () {}

C - modèle <T>

    void abc <classe T> :: f () {}

D - modèle <T>

    void abc <T> :: f () {}

Réponse: A

Explication

Q 16 - Choisissez l'utilisation respective de l'opérateur de suppression pour l'expression 'ptr = new int [100]'.

A - supprimer ptr;

B - supprimer ptr [];

C - supprimer [] ptr;

D - [] supprimer ptr;

Réponse: C

Explication

Réponse: B

Explication

C'est un objet de classe istream.

Q 18 - L'opérateur utilisé pour accéder à la fonction membre d'une structure en utilisant son objet.

Un -.

B - ->

C - *

D - Aucune de ces réponses.

Réponse: A

Explication

De la même manière que nous utilisons l'opérateur point (.) Pour accéder aux membres de la classe, il est également utilisé pour accéder aux membres de la structure.

Q 19 - Un fichier d'en-tête défini par l'utilisateur est inclus dans l'instruction suivante en général.

A - #include "file.h"

B - #include <fichier.h>

C - #include <fichier>

D - #include file.h

Réponse: A

Explication

Avec la syntaxe comme en (a), le compilateur recherche d'abord le fichier dans le répertoire de travail actuel, puis dans le chemin d'inclusion par défaut s'il n'est pas trouvé.

Q 20 - Quel type de données peut être utilisé pour contenir un caractère large en C ++?

A - caractère non signé;

B - int

C - wchar_t

D - aucune de ces réponses.

Réponse: C

Explication

wchar_t est le type de données à l'aide duquel nous pouvons contenir des caractères Unicode.

Q 21 - Quel est le spécificateur de stockage utilisé pour modifier la variable membre même si l'objet de classe est un objet constant?

A - auto

B - s'inscrire

C - statique

D - mutable

Réponse: D

Explication

mutable est un spécificateur de stockage introduit en C ++ qui n'est pas disponible en C. Un membre de classe déclaré avec mutable est modifiable bien que l'objet soit constant.

Q 22 - L'opérateur suivant peut être utilisé pour calculer la valeur d'un nombre élevé à un autre.

A - ^

B - **

C - ^^

D -Aucune des réponses ci-dessus

Réponse: D

Explication

Il n'existe aucun opérateur de ce type en C / C ++.

Q 23 - Prenez la déclaration valide pour la surcharge ++ sous forme de suffixe où T est le nom de la classe.

Opérateur A - T ++ ();

Opérateur B - T ++ (int);

C - T & opérateur ++ ();

D - T & opérateur ++ (int);

Réponse: B

Explication

Le paramètre int est juste pour signifier qu'il s'agit du formulaire postfix surchargé. Ne doit pas renvoyer la référence selon son comportement d'origine.

Q 24 - Nous pouvons avoir un nombre variable d'arguments pour la forme surchargée de l'opérateur ().

A - Vrai

B - Faux

Réponse: A

Explication

Réponse: B

Explication

Les deux opérateurs mentionnés ne peuvent pas être surchargés.

Feuille de réponses

Numéro de question Clé de réponse
1 B
2 C
3
4 UNE
5
6 B
sept B
8 UNE
9 B
dix C
11
12 C
13 B
14 C
15 UNE
16 C
17 B
18 UNE
19 UNE
20 C
21
22
23 B
24 UNE
25 B