Examen 1 - C++ général Flashcards

1
Q

Association

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Agrégation
(ou composition faible)

A

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 »

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Composition
(ou composition forte)

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Classe :

A

structure regroupant les données (attributs ou membres) et les opérations
(méthodes) pour un concept donné. Exemple: un étudiant.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Attribut :

A

aussi appelée membre ou propriété d’une classe, l’attribut contient un élément
d’information d’une classe (dans une variable)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Méthode :

A

opération d’une classe, contenant du code. On évite les termes fonctions et
procédures.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Objet :

A

« instance » d’une classe, représentant un élément tangible. Par exemple, Fido est
un objet ou une instance de la classe Chien

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

public:

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

protected

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

private:

A

accessibles uniquement à l’intérieur de la classe.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

En aucun cas, il n’est permis de modifier la valeur d’un attribut ailleurs que dans le set
correspondant sauf

A

si l’on utilise une liste d’initialisation.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

.h (header)

A

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).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

.cpp

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

std::stoi

A

convertir string en int

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

std ::cin

A

pour lire une valeur à la console

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Enum

A

enum class Direction {
NORD,
SUD,
EST,
OUEST
};

Direction d = Direction::EST;

17
Q

struct

A

En fait,
la seule différence entre un struct et class est que les attributs et méthodes d’un struct sont par
défaut public et non private.

18
Q

utilité struct

A

On utilise généralement un struct pour représenter un enregistrement simple. En termes de
programmation, on utilise uniquement un fichier .h avec des attributs publics.

19
Q

listes d’initialisation

A

Personne(const std::string& n, int a, double t, bool etudiant)
: nom(n), age(a), taille(t), estEtudiant(etudiant)
{
// Le corps du constructeur peut rester vide si toute l’initialisation
// est faite dans la liste d’initialisation
}

20
Q

quand est appelé constructeur

A

Un constructeur est une méthode spéciale d’une classe qui est automatiquement appelée lors de la création d’un objet de cette classe. Son rôle principal est d’initialiser les membres de l’objet et d’allouer les ressources nécessaires.

21
Q

quand est appelé destructeur

A

Un destructeur est une méthode spéciale d’une classe qui est automatiquement appelée lorsqu’un objet de cette classe est détruit. Son rôle principal est de libérer les ressources allouées par l’objet et d’effectuer les opérations de nettoyage nécessaires.

22
Q

Situations d’appel du destructeur

A

Lorsqu’un objet local sort de sa portée.
Lors de l’utilisation de l’opérateur delete pour un objet alloué dynamiquement.
À la fin du programme pour les objets globaux ou statiques.
Lorsqu’un objet temporaire est détruit.

23
Q
A