Développer en langage C++
Quelle syntaxe n?est pas correcte :
void f1 ( int & val ) ;
void f2 ( const int & val ) ;
void f3 ( char * val = NULL) ;
void f4 ( int = 0, char * ) ;
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
Une classe Y friend d?une classe X permet :
à la classe Y d?hériter des propriétés de la classes X
aux instances de la classe Y d?être compatibles par affectation avec des instances de la classe X
aux méthodes de la classe Y d?accéder aux propriétés private de la classe X
aucune de ces propositions
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 ) ;
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;
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 ;
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
Quel attribut d?accès n'est pas applicable en C++ :
private
global
public
protected
Quelle assertion sur les classes abstraites est fausse :
non instanciable
contient des méthodes virtuelles pures
ne contient jamais d?attribut
une classe dont on peut hériter
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;
Quelle proposition provoque une erreur à la compilation :
cout << "uneChaine" ;
cout << 'a' , 'b' ;
cout << hex << 20 ;
cout << endl ;
Quelle classe n?existe pas dans iostream.h :
istream
ostream
errstream
iostream
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
Etant donnée la définition suivante : template <class T, int i> class A{...}; Quelle est la proposition valide :
A<int, 3> unA;
class B : public A<char, 20> {...};
typedef A<char *, 20> C;
elles sont toutes valides