Solutionnaire
- Q1: Pour chacune des affirmations suivantes, indiquer
laquelle constitue un exemple d'héritage multiple.
- a. La classe B dérive deux fois de la classe A.
- b. La classe C qui dérive de la classe B ; sachant que B dérive de la classe A.
- c. La classe D dérive des classes C et B ; sachant que B et C dérivent de la classe A.
- d. La classe C dérive des classes B et A.
- e. La classe B dérive de la classe A.
- Deux bonnes réponses: c (et) d.
- Q2: Pour chacune des affirmations suivantes, indiquer laquelle est vraie.
- a. Pas plus que deux classes peuvent être utilisées comme classes de base dans un héritage multiple.
- b. Le nom d'une fonction membre ne peut pas être utilisé plus d'une fois dans un multiple héritage de la classe de Base.
- c. Une virgule sépare les multiples classes de base spécifiées dans la spécification de la classe dérivée.
- Une seule bonne réponse: c.
- Q3: Lequel des éléments suivants peut-être utilisé à la place de l'héritage multiple?
- a. héritage simple.
- b. intégration.
- c. composition
- d. fonctions virtuelles.
- e. opérateur de résolution de portée.
- Une seule bonne réponse: c.
Q4: Comment peut-on modifier les schémas d'héritage suivants, pour
éviter d'utiliser l'héritage multiple?
Classes de Base: Études (les études effectuées) ; Employé (des informations sur l'employé)
- La classe gestionnaire dérive de Études et Employé
- La classe scientifique dérive de Études et Employé.
- Faire de la composition. Il faudra mettre la classe "Études" comme membre de la classe "Employé" puisque un employé
a peut-être suivi des études.
Q5: Soit les 4 classes suivantes:
[Solutionnaire](SolDemo01Exo4.zip).
- X la classe de base (membres: string Id, et afficher_Id).
- Y & Z héritent de la classe de base.
- W hérite des deux classes Y & Z.
- -1- Écrivez les classes X, Y, Z et W de telle manière que la fonction main suivante puisse fonctionner correctement.
int main() {
W wtest("wx");
cout << "Id\n" << wtest.Id;
wtest.print();
return 0;
}
- -2- reprendre la question -1-, avec la contrainte suivante: X dérive d'une classe abstraite A, dont affiche_Id est la fonction virtuelle.
|
[top]
|