UdMHaut
UdMBAS

IFT1169
Programmation Avancée en C++

Département d'informatique et de recherche opérationnelle

Direction de l'enseignement de service en informatique
 

Image C++
 
Automne 2024

Accueil

Professeurs et
Démonstrateurs

Horaires et locaux

Notes de cours

Cours
après Cours

Démonstrations
et devoirs

Examens

Liens utiles

Au sujet du
livre de cours

Consultez vos notes

Foire aux questions
(FAQ)

Sessions antérieures

  Démonstration #1  
 
Dernière mise à jour : mercredi 11 septembre 2024 10:52:30
 


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]


    dift1169@iro.umontreal.ca