SUJET
1
1.
Ecrire une fonction permettant d'échanger les contenus de
2 variables de type int fournies en argument :
·
En transmettant l'adresse des variables
·
En utilisant la transmission par référence
2.
Soit le modèle de données suivant
struct
{
int n;
float x;
}
Ecrire une fonction RAZ permettant de remettre a zéro les champs d'une
structure de ce type en utilisant
1.
Un passage par adresse
2.
Un passage par référence
Prévoir
un programme d'essai de la fonction. (Il affichera les valeurs d'une structure
après l'appel de la fonction)
SUJET
2
·
Définir une classe
de votre choix sous forme :
o Constructeur, Destructeur, Assesseur, Mutateur,
Affichage.
·
Ecrire un programme
utilisant cette classe dans les cas suivants :
o Allocation statique
o Allocation dynamique
o Tableau d’objets
o Tableau de pointeur d’objets
o …
SUJET
3
Soit une classe vecteur3D définit comme suit :
Class Vecteur3D
{
float x,y,z ;
public :
Vecteur3D(float
c1=0.0 ;float c2=0.0, float c3=0.0)
{
x = c1; y = c2; z= c3;
}
…
} ;
Introduire les fonctions membres permettant d’obtenir la
somme de 2 vecteurs, le produit scalaire de 2 vecteurs, d’affichage des
composantes du vecteur.
Introduire une fonction membre coincide permettant
de savoir si deux vecteurs ont mêmes composantes :
·
En utilisant une transmission par valeur ;
·
En utilisant une transmission par adresse ;
·
En utilisant une transmission pas référence
Si v1 et v2 désignent 2 vecteurs de type Vecteur3D,
comment s’écrit le test de coïncidence de ces 2 vecteurs, dans chacun des 3 cas
considérés ?
Introduire une méthode membre permettant le calcul de la
norme d’un vecteur.
Introduire une méthode membre nommée normax
permettant d’obtenir, parmi 2 vecteurs, celui qui a la plus grande norme. Le
résultat sera également renvoyé par valeur, par adresse et par référence ;
Adapter la classe ci-dessus afin qu’elle dispose d’une
fonction membre «nombre » fournissant le nombre de points existants a un instant donné
SUJET
4
Proposition de codage
Association/Agrégation/Composition
Association
·
On utilise l’association quand
deux classes sont liées, sans notion de propriété de l’une par rapport à
l’autre.
·
Les durées de vie ne sont pas
forcément liées (la mort d’une instance de la classe A ne provoque pas
forcément la mort des objets associés de la classe B)
Agrégation
·
On utilise une agrégation quand
on peut utiliser le verbe « comporte »
·
L’agrégation est modélisée par un
losange vide (du côté de la classe Ensemble )
·
Les durées de vie entre les
classes associées ne sont pas forcément liées
Composition
: agrégation particulière où les parties sont complètement intégrées à
l’ensemble
·
On utilise une composition quand
on peut utiliser le verbe « est composé de »
·
La composition est modélisée par
un losange noirci.
·
Les durées de vie entre les
classes associées sont liées (la mort d’un objet de la classe Ensemble provoque
la mort des objets composites)
·
La cardinalité côté de la classe
Ensemble (côté losange) est toujours 1