Langage C++, aspects avancés
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
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 ) ;
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
Etant donnée la fonction A& foo( void ); et les instances unA et autreA de la classe A, quelle instruction ne fait pas appel à l'opérateur d'affectation défini dans la classe A :
unA = autreA ;
A unA = autreA ;
unA.operator= ( autreA ) ;
foo () = autreA ;
Quel attribut d?accès n'est pas applicable en C++ :
private
global
public
protected
Pour une classe C héritant d?une classe B qui elle même hérite d?une classe A, lors de la création d?une instance de C, la chronologie d?exécution des constructeurs est :
A() puis B() puis C()
C() puis B() puis A()
l?ordre d?exécution est aléatoire
cette question n?a pas de sens
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;
Une fonction membre virtuelle pure est :
une fonction membre virtuelle ne possédant pas d?argument
une fonction membre virtuelle ne possédant pas de valeur de retour
une fonction membre virtuelle ne possédant pas de code
une fonction membre virtuelle ne possédant que des données statiques