Monday, December 15, 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 - Questionnaire sur les pré-requis
  C/C++
Langage C++, aspects avancés

Répondez aux 8 questions suivantes pour évaluer vos pré-requis sur cette formation.

 -1-
Etant donnée la définition suivante :
class A {
public :
    static int foo();
};
Quel est l?appel valide de la fonction membre foo.
A::foo();
A.foo();
A->foo();
foo();

 -2-
Quelle est l?instruction qui n?entraîne pas la création d?une instance de la classe A :
A unA ( 5 );
A * unA = new A;
A unA = 10;
A unA ();

 -3-
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;

 -4-
Quand doit-on redéfinir l?opérateur d?affectation dans une classe :
en toutes circonstances
lorsque la classe possède des attributs alloués dynamiquement
lorsque la classe possède des propriétés statiques
lorsque la classe possède un destructeur

 -5-
En C++, une classe dérivée ne peut pas :
redéfinir des méthodes de sa classe de base
hériter de plusieurs classes
invoquer des méthodes publiques de sa classe de base
accéder à des données privées de sa classe de base

 -6-
Quelle est la syntaxe correcte pour que la classe B hérite de A :
class B implements A { ? };
class B extends A { ? };
class B : public A { ? };
class B inherited A { ? };

 -7-
Quelle syntaxe n?a pas de sens en C++ :
virtual void f1 ( void ) ;
virtual void f2 () = 0 ;
virtual void f3 ( int i = 0 ) ;
virtual void f4 () = abstract;

 -8-
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();