Thursday, April 3, 2025 | Accueil | Contact    
COGITEC - Transfert de savoir-faire en technologie objet
  |   Valeurs  |   Partenaires  |  Location  |  
  PRESENTATION ENTREPRISE
  Activités
  Localisation
 
  FORMATION
  Catalogue
  Calendrier
  Proposer une date
  Evaluez-vous
 
  RECHERCHE
  Formations
  Stages
 
  REFERENCES
  Interentreprises
  Intra entreprise
  Accompagnement
 
  DEVELOPPEMENT
 
 
  COGITEC
  12 avenue Jules Verne
44230 Saint Sébastien / Loire
Mail : cogitec@cogitec.fr
Tél: 02 40 94 78 68
 
EVALUEZ-VOUS EN LIGNE
  C/C++
Développer en langage C++

Répondez aux 14 questions suivantes pour évaluer vos connaissances sur cette formation.

 -1-
Etant donnée la variable char car = ?a?; quelle est la fonction qui est invoquée par l?appel foo(car);
void foo(int i);
void foo(const int * i);
void foo(const char * i);
aucune de celles proposées

 -2-
Etant données les variables int i, j ; et la fonction int& foo(const int&); quelle est la proposition qui génère une erreur à la compilation :
i = foo(j);
foo(j) = i*j;
foo(i++)++;
elles sont toutes valides

 -3-
Quelle caractéristique ne s?applique pas au destructeur C++ :
il est appelé implicitement quand un objet sort de sa portée
il est appelé par l?instruction delete
il peut recevoir des arguments
il n?a pas de valeur de retour

 -4-
Etant donnée une classe X possédant les fonctions membres ci-dessous, quelle est celle qui n?a aucun sens en C++ :
inline void f1 ( int );
int f2 ( const X& ) const;
static void f3 (const int& val );
final void f4 (char car ) ;

 -5-
Etant données les déclarations suivantes :
int& operator[] (const char *); //fonction membre de la classe X
X unX ;
int i = 0 ;
Quelle est la proposition invalide :
i = unX["chaine"];
unX[i]++;
unX["chaine"]++;
unX["chaine"] = i;

 -6-
La surcharge d?un opérateur applicable sur des instances d?une classe ne peut pas s?effectuer par :
une fonction membre sans argument
une fonction globale avec 1 argument
une fonction membre avec 1 argument
une fonction globale sans argument

 -7-
Etant données les déclaration suivantes :
A unA;
B unB;
Sachant que B hérite en public de A, quelle instruction génère une erreur à la compilation :
A * pA= &unB;
unA = unB;
unB = (B)unA;
B * pB = (B*)pA;

 -8-
Quel attribut d?accès n'est pas applicable en C++ :
private
global
public
protected

 -9-
Etant données :
class A {
public :
    virtual void trace () { cout << "Trace A" << endl; }
};
class B : public A {
public :
    virtual void trace () { cout << "Trace B" << endl; }
};
Quelle est l?expression qui affiche "Trace B" à l?écran :
A * pA1 = new A(); pA1->trace();
B * pB1 = (B*)new A(); pB1->trace();
A unA; B unB; unA = unB; unA.trace();
A* pA2 = new B(); pA2->trace();

 -10-
Une fonction membre virtuelle ne peut pas être :
le mécanisme C++ permettant la mise en ?uvre du polymorphisme
une fonction membre dont l?adresse de la méthode est résolue à l?exécution
applicable à un destructeur
générée inline

 -11-
Quelle classe n?existe pas dans iostream.h :
istream
ostream
errstream
iostream

 -12-
Quelle proposition provoque une erreur à la compilation :
cout << "uneChaine" ;
cout << 'a' , 'b' ;
cout << hex << 20 ;
cout << endl ;

 -13-
Quel mécanisme n?est pas disponible en C++ :
dynamic cast
static cast
l'opérateur kindOf
les namespaces

 -14-
Quelle caractéristique ne s?applique pas aux exceptions C++ :
un bloc try est toujours suivi d?au moins un bloc catch
un bloc try peut être associé à plusieurs blocs catch
un bloc try peut être imbriqué dans un autre try
un bloc try peut être suivi d?un bloc finaly