UdMHaut
UdMBAS

IFT1166
Programmation Orientée Objet avec C++

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

Direction de l'enseignement de service en informatique
 

Image C++
 
Automne 2005

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 #8  
 
Dernière mise à jour : sam 12 nov 2005 16:56:21 EST
 

Buts:

  • [Classes canoniques.].

Fonction inline

  • Q1: Pour vous convaincre qu'une fonction inline s'exécute plus rapidement qu'une fonction ordinaire, exécutez le programme demo8exo1.cpp et examinez bien le résultat.

Constructeur/Destructeur

  • Q2: Pour mieux comprendre quand les constructeurs et le destructeurs sont appelés, exécutez le programme demo8exo2.cpp et examinez bien le résultat.

Analyse


Codage

  • Q4: Reprendre l'exercice 3 et y ajouter les fonctionnalités suivantes:
    [Solutionnaire].
    • Un constructeur sans argument.
    • L'opérateur d'affectation =.
    • Deux fonctions quelconques:
      • void p_val(compte c) une fonction permettant d'illustrer le passage par valeur, en affichant en sortie: p_val.
      • void p_val(compte& c) une fonction permettant d'illustrer le passage par référence, en affichant en sortie: p_ref.
    • Complétez la fonction main avec les instructions nécessaires afin d'utiliser les fonctionnalités décrites précédemment.

  • Q5: Écrire la définition de la classe livres ayant :
    [Solutionnaire].
    • Deux membres privés : auteur (du livre) et nom (du livre);
    • Un constructeur pour initialiser les membres privés, à titre d'exemple par:
      • Auteur : Albert Camus & Arthur Koestler
      • Nom: reflexions sur la peine capitale
    • Un destructeur;
    • Deux fonctions membres publiques, la première permet d'afficher en sortie les membres privés, la seconde affiche ces même membre mais cette fois en utilisant le pointeur autoréférence THIS.

  • Q6: Complétez la classe Id (pour la description de la classe, voir les notes de cours), par :
    [Solutionnaire].
    • Un constructeur de recopie.
    • Un opérateur d'affectation surdéfini.

    Et donnez le résultat du programme.

    Pour rappel :

    -------------------------------
    
    	class Id { 
    	      char *nom;
    	      public: 
    		   Id(); 
    		   ~Id(); 
    		   Id(const Id&); 
    		   Id& operator=(Id); 
    	 }; 
      
    	int main() { 
    	    Id pierre,paul; 
    	    Id jacque = paul; 
    	    pierre = jacque; 
    	    return 0; 
    	} 
    
    -------------------------------
    



pift1166@iro.umontreal.ca
[top]