Buts:
- [Virtualité, classe abstraite, et structures de données de base].
Virtualité et classe abstraite
- Q1:
Comment faudrait-il modifier le contenu des classes de base (Produit) et dérivée (ProduitSolde),
décrites dans l'exercice 6 de la démo 9,
pour que la fonction main suivante puisse donner les résultats signalés en commentaires.
-------------------------------
int main(){
Produit P("portable",2000);
ProduitSolde PS("portable",2000,20);
Produit* PP = &P;
PP->facture(); // résultat attendu: 2000
PP = &PS;
PP->facture(); // résultat attendu: 1600
return 0;
}
-------------------------------
- Q2: Pour ce qui suit:
- Écrire la définition classe abstraite peintre qui
contient deux fonctions virtuelles pures: Saisir et Afficher.
- Écrire la définition de la classe Monet qui dérive "publiquement" de la classe peintre, et a comme
membres privés un tableau TAB contenant NB_ELT éléments du type string.
- Q3: Répondre aux différentes questions incluses dans
le programme suivant: demo10exo3.cpp.
Structures de données de base
- Q4: Reprendre la classe Liste disponible
ici et ajouter les fonctionnalités suivantes:
- Les classes Cellule et Liste se contentent de quelques fonctionnalités par défaut. Est-ce nécessaire
de les redéfinir? Si oui, faites le.
- Compléter la classe Liste avec la méthode qui permet d'affecter une valeur à un élément donné de
la liste. Un message d'erreur est affiché si la liste est vide ou si on est hors-liste.
- Compléter la classe Liste avec la méthode qui permet de retirer le ie élément de la liste.
Un message d'erreur est affiché si la liste est vide ou si on est hors-liste.
- Q5: Reprendre la classe Pile disponible
ici et faire ce qui suit:
- Modifier la classe pour manipuler des chaînes de caractères.
- Écrire un programme qui lit une expression postfixée sur une ligne, et en affiche la valeur.
- La notation postfixée (polonaise inverse) consiste à placer les opérandes devant l'opérateur.
Ainsi l'opération "(12 + 23 + 7) × 3 - 121 = 5" se transforme en " 12 23 7 + + 3 x 121 -". La notation
Polonaise inverse consiste à placer des nombres dans une pile et à effectuer des opérations sur
les 2 nombres situés au sommet de la pile. Par exemple l'expression 12 23 7 + + 3 x 121 - est
évaluée de la façon suivante:
----------------------------------------------
Expression état de la pile
(sommet à gauche)
12 12
12 23 23, 12
12 23 7 7, 23, 12
12 23 7 + 30, 12
12 23 7 + + 42
12 23 7 + + 3 3, 42
12 23 7 + + 3 x 126
12 23 7 + + 3 x 121 121, 126
12 23 7 + + 3 x 121 - 5
----------------------------------------------
|
|