• Aucun résultat trouvé

2 Cr´ eation d’une classe template

N/A
N/A
Protected

Academic year: 2022

Partager "2 Cr´ eation d’une classe template"

Copied!
1
0
0

Texte intégral

(1)

Programmation pour le calcul scientifique Ann´ee : 2018-2019

Formation : L3 Ing´enieurie Math´ematique

TP 11 : Surcharges d’op´ erateurs, templates

1 Surcharge d’op´ erateurs

1. Cr´eer une classe contenant des tableaux `a de r´eels `a deux dimensions (de type vector) en donn´ees priv´ees.

2. Cr´eer le constructeur par d´efaut et le destructeur pour cette classe.

3. Cr´eer un constructeur initialisant une instance de la classe avec des dimensions donn´ees et une valeur constante pour les coefficients du tableau. Ces param`etres seront pass´es en argument du constructeur.

4. Cr´eer une surcharge de l’op´erateur [] qui permet d’afficher un indice donn´e du tableau contenu dans une instance de la classe.

5. Cr´eer une surcharge de l’op´erateur +, telle que si A et B sont deux instances de la classe, de dimensions respectives nA, mA et nB, mB, alors A+B a pour donn´ees un tableau de dimensions max(nA, nB),max(mA, mB) et ses coefficients contiennent la somme des coefficients de A et B, avec pour convention que si un coefficient n’existe pas, il vaut 0.

6. Cr´eer une surcharge de l’op´erateur<<qui permet d’afficher le tableau (contenu dans une instance de la classe) tout entier.

2 Cr´ eation d’une classe template

Remarque : pour cr´eer une instance d’une classe template, au moment d’appeler le constructeur, il faut bien pr´eciser le type du param`etre T (du typename) entre des chevrons.

1. Cr´eer une classe template dont la donn´ee (priv´ee) est un tableau (vector) d’entier ou de r´eels.

2. D´efinir le constructeur par d´efaut pour cette classe, et un autre constructeur qui prend en pa- ram`etre un entier qui est la taille du vector, et un nombre, entier ou r´eel, qui est la valeur avec laquelle sont initialis´es tous les coefficients du tableau.

3. Cr´eer une fonction qui affiche les valeurs d’une instance de la classe.

4. Cr´eer une fonction qui prend en argument un entierindet un nombrex, entier ou r´eel, et modifie l’instance de la classe `a laquelle elle est appliqu´ee afin que le coefficient d’indice indprenne la valeurx.

5. Cr´eer dans le programme principal deux instances de la classe, l’une contenant des entiers et l’autre des r´eels, et tester les fonctions pr´ec´edentes avec ces instances.

1

Références

Documents relatifs

• Cr´eez, dans votre r´epertoire personnel, les sous-r´epertoires: unix, f77, f90, c et c++.. • Cr´eez le

// creation d’une instance d’objet de type PolyLineaire /* Rappel : une creation d’objet se fait par

On peut aussi tronquer un nombre au dixième (ou au centième...) en lui enlevant tous les chiffres situés à droite du chiffre des dixièmes (ou des centièmes...). Arrondi à

Dans un plan horizontal, ils se réfléchissent le long de ce mur en laissant une marque rouge à chaque point de contact et reviennent au point P au bout d’un nombre fini

Certes enrichi d’un copieux paratexte : entretiens (notamment ceux rassemblés dans Le Roi vient quand il veut, op. cit) mais aussi carnets préparatoires (voir à ce sujet

Cette villa de plain-pied dispose de différentes entrées. Dès votre entrée, vous faites face à un gigantesque espace de vie de plus de 80 m2. Il comprend un salon, une cuisine,

[r]

Jean a reçu une somme d’argent de son grand-père. Il en dépense d'abord le quart pour s'acheter un livre, puis la moitié du reste pour acheter un disque. Quelle fraction de la