Développer en langage C++
Etant données les déclarations suivantes : int i = 10 ; int& ri = i; char * s = "10"; char c = 10; Quelle proposition n?affiche pas 10 à l?écran :
cout << i << endl;
cout << s << endl;
cout << ri << endl;
cout << c << endl;
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
Quelle est la fonction membre permettant d?initialiser une instance d?une classe A possédant un attribut de type int :
void initA ( int val ) ;
A ( int val = 0 ) ;
A createA ( int val ) ;
void A ( int val ) ;
Etant donnée la fonction membre int foo (int = 0); déclarée dans la classe X, quelle est la définition déportée de cette fonction membre :
int X::foo(int val) {... return val; }
int X::foo(int val = 0) {... return val; }
X:: int foo(int val = 0) {... return val; }
int X. foo(int val ) {... return val; }
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
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 ;
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
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;
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 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
Quelle classe n?existe pas dans iostream.h :
istream
ostream
errstream
iostream
Quel flux n?est pas prédéfini en C++ :
cout
cfile
cerr
cin
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
Une classe template est :
une classe paramétrable à l?aide d?un ou plusieurs types génériques
Une classe qui possède des attributs virtuels
une classe non instanciable
une classe qui possède des attributs persistants