Examen 1 - C++ général Flashcards
Association
La classe « A » utilise un objet de la classe « B ». Aucun attribut de la classe
ne fait référence à un objet de la classe « B » A ———> B
Agrégation
(ou composition faible)
La classe « A » possède un pointeur sur un objet de la classe « B » parmi ses
attributs mais n’est pas responsable de la destruction de celui-ci. En quelque
sorte, si la classe « A » disparait, la classe « B » ne disparaît pas.
Généralement, l’objet de la classe « B » est instancié à l’extérieur de la classe
« A » et est passé en paramètre à l’une des méthodes de la classe « A »
Composition
(ou composition forte)
La classe « A » possède un pointeur sur un objet de la classe « B » (ou l’objet
directement) parmi ses attributs et est responsable de la destruction de celui-ci.
En quelque sorte, si la classe « A » disparait, la classe « B » doit disparaître.
Généralement, l’objet de la classe « B » est instancié à l’intérieur de la classe
« A », souvent lors de la construction.
Classe :
structure regroupant les données (attributs ou membres) et les opérations
(méthodes) pour un concept donné. Exemple: un étudiant.
Attribut :
aussi appelée membre ou propriété d’une classe, l’attribut contient un élément
d’information d’une classe (dans une variable)
Méthode :
opération d’une classe, contenant du code. On évite les termes fonctions et
procédures.
Objet :
« instance » d’une classe, représentant un élément tangible. Par exemple, Fido est
un objet ou une instance de la classe Chien
public:
accessibles à l’extérieur et à l’intérieur de la classe. Souvent les méthodes getXYZ
(getters) sont publiques mais ce n’est pas obligatoire
protected
accessibles dans les classes dérivées (héritées) et à l’intérieur de la classe. Rarement
utilisé en général mais bien pratique pour les setXYZ (setters) afin de préserver les
validations qu’on souhaiterait réaliser.
private:
accessibles uniquement à l’intérieur de la classe.
En aucun cas, il n’est permis de modifier la valeur d’un attribut ailleurs que dans le set
correspondant sauf
si l’on utilise une liste d’initialisation.
.h (header)
Le fichier d ’en-tête contient à la déclaration de la classe. On y place le nom de la classe, les
modificateurs de visibilité, les déclarations des attributs et des méthodes. En général, on n’y place
pas de définitions (pas de corps de méthodes).
.cpp
Le fichier .cpp contient la définition de la classe. On y place les définitions des attributs statiques
ainsi que la définition (le corps) des méthodes.
std::stoi
convertir string en int
std ::cin
pour lire une valeur à la console