Questionnaire Vous êtes : Votre adresse mail : Votre groupe de TP: Initiaux GR1 (avec Henri Derycke) Initiaux GR2 (avec Anthony Labarre) Alternants GR3 (avec Victor Marsault) 1. Quel est le terme C++ permettant de désigner les “méthodes” d’une classe ? 2. Supposons deux classes: Points qui implémente un point dans le plan et Cercle disposant d’un attribut _points de type std::vector<point>. Quel invariant cette classe pourrait-on décider d’implémenter dans Cercle ? 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 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 écrire pour l’implémenter dans un .cpp séparé ? 11. Soit un attribut statique déclaré par static float _attr dans une classe UneClasse. Comment faut-il faire pour le définir ? 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 ? 13. Donnez la signature de l’opérateur << que l’on doit définir pour afficher notre classe Cat grâce à un flux de sortie. 14. Quelle instruction permet de définir un alias SmallerName sur le type suivant : 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. Identifiez un autre problème lié au constructeur à 1 paramètre. Il ne s’agit pas d’un problème de compilation. Combien de temps avez-vous mis à compléter ce chapitre ? Avez-vous des questions suite à sa lecture ? Avez-vous des commentaires concernant le chapitre et/ou le site ?