Built with from Grav and Hugo
1- Quel est le terme C++ permettant de dĂ©signer les âmĂ©thodesâ dâune classe ?
2- Supposons une classe Cercle disposant dâun attribut _points de type std::vector<point>. Quel invariant cette classe pourrait-elle dĂ©cider dâenforcer ?
Cercle
_points
std::vector<point>
3- Citez une rĂšgle permettant de respecter le principe dâencapsulation en C++.
4- En quoi consiste la méthodologie TDD ?
5- Donnez un avantage de cette pratique.
6- Quel est le nom de la fonctionnalitĂ© permettant dâinitialiser un attribut sur la mĂȘme ligne que sa dĂ©finition ?
7- Quel nom donne-t-on au constructeur dâune classe acceptant 0 paramĂštre ?
8- Dans un constructeur, comment sâappelle la zone dans laquelle on initialise les attributs de la classe ?
9- A quoi fait-on gĂ©nĂ©ralement rĂ©fĂ©rence lorsque lâon parle dâimplĂ©mentation par dĂ©faut ?
10- Supposons une fonction-membre bool hello() const dĂ©finie dans une classe Greetings. Que faut-il faire pour lâimplĂ©menter dans un .cpp sĂ©parĂ© ?
bool hello() const
Greetings
11- Soit un attribut statique déclaré par static float _attr dans une classe UneClasse. Comment faut-il faire pour le définir ?
static float _attr
UneClasse
12- La ligne static int Toto::fcn_static() { return 1; } placĂ©e dans un fichier Toto.cpp ne compile pas. Pourtant, fcn_static a Ă©tĂ© dĂ©clarĂ©e comme il faut dans la classe Toto et lâinclude a Ă©tĂ© fait. Quel est le problĂšme ?
static int Toto::fcn_static() { return 1; }
Toto.cpp
fcn_static
Toto
13- Donnez la signature de lâopĂ©rateur << permettant dâafficher le contenu une variable de type Cat dans un flux de sortie.
<<
Cat
14- Quelle instruction permet de définir un alias SmallerName sur le type suivant : std::unique_ptr<std::array<std::string, 3>>
SmallerName
std::unique_ptr<std::array<std::string, 3>>
Les deux prochaines questions font référence à cette classe :
class Toto { public: Toto() : Toto(3), _value2(5) {} Toto(int v1) : _value1(v1) {} private: int _value1; int _value2; }
15- Ce code ne compile pas pour deux raisons. Quelles sont-elles ?
16- Essayez dâidentifier un autre problĂšme liĂ© au constructeur Ă 1 paramĂštre. Il ne sâagit pas dâun problĂšme de compilation.