La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

1 Tableaux des objets C++ si on connaît le nombre dobjets nécessaires davance on peut utiliser des tableau dobjets dans les fonctions dusage class Personne.

Présentations similaires


Présentation au sujet: "1 Tableaux des objets C++ si on connaît le nombre dobjets nécessaires davance on peut utiliser des tableau dobjets dans les fonctions dusage class Personne."— Transcription de la présentation:

1 1 Tableaux des objets C++ si on connaît le nombre dobjets nécessaires davance on peut utiliser des tableau dobjets dans les fonctions dusage class Personne { private : char Nom[Nmax]; char Societe[Nmax]; public : Personne(){Nom[0]=`\0`; Societe[0]=`\0`;} Personne(char*, char*); Personne(const Personne& p) void ModifSociete(char *); void SePresente(); }; Personne::Personne(const Personne& p){ strcpy(Nom,p.Nom); strcpy(Societe,p.Societe); } …. int main() { Personne * groupe=new Personne[Ngr]; // Uniquement le constructeur sans arguments! for(int i=0;i

2 23/02/ Héritage C++ Héritage simple Héritage multiple Java Héritage simple Spécialisation Héritage simple : la structure hiérarchique des classes, possibilité de dériver les uns des autres, évolutivité du code.

3 23/02/ Exemples Garage Véhicule CamionVoitureclasse – agrégat « container » classe-parent classes-enfants

4 4 Héritage simple class Vehicule{ protected : int puissance; int nbr_places; int vol_moteur; public : Vehicule(int _p=4, int _n=5, int _v=3); void Affiche() {cout<< Puissance = <

5 5 Utilisation des méthodes de la classe parente (2) class Vehicule{ protected : int puissance; int nbr_places; int vol_moteur; public : Vehicule(int _p=4, int _n=5, int _v=3); void affiche() {cout<< Puissance = <

6 6 Héritage simple. Utilisation des méthodes de la classe parente class Vehicule{ protected : int puissance; int nbr_places; int vol_moteur; public : Vehicule(int _p=4, int _n=5, int _v=3); void Affiche() {cout<< Puissance = <

7 7 Héritage simple. Utilisation des méthodes de la classe parente class Carre { protected: int a; public: Carre(int _a=10){a=_a;} void affiche() {cout<<"a="<

8 23/02/ Appel des constructeurs et des destructeurs Lors de linstanciation dun objet dune classe dérivée, les constructeurs parents sont appelés dans lordre de leur déclaration Lors de la destruction de cet objet, les destructeurs parents sont appelés mais dans lordre inverse.

9 9 Héritage simple. Constructeurs et destructeurs class Carre { protected: int a; public: Carre(int _a=10){a=_a;} void affiche() {cout<<"a="<

10 10 Le constructeur par copie et lhéritage(1) (1) La classe dérivée na pas défini le constructeur par copie class Parent { protected: int a; public: Parent(int _a){a= _a;cout<<"Je construis Parent a= "<

11 11 Le constructeur par copie et lhéritage(2) (2) La classe dérivée a défini le constructeur par copie class Parent { protected: int a; public: Parent(int _a){a= _a;cout<<"Je construis Parent a= "<

12 23/02/ Derivation publique et dérivation privée Statut dans AAccès par B et amies Accès par les utilisateurs de B N.Statut dans la clase dérivée en cas de nouvelle dérivation publicoui public protectedouinonprotected privatenon private class B : public A{…}

13 23/02/ Dérivation privée class B : private A Interdire à un utilisateur dune clase dérivée laccès aux membres publics de sa classe de base Quand est ce que cela est intéressant? -ex 1. Lorsque toutes les fonctions utiles de la classe de base sont redéfinies dans la classe dérivée. On interdit laccès aux anciennes fonctions -ex2. Les clases sont les mêmes, mais leur usage est différent.

14 14 La dérivation privée class Parent { protected: int a; public: Parent(int _a){a= _a;cout<<"Je construis Parent a= "<

15 23/02/ Opérations entre classes de même famille(1) Héritage public class Carre {class Rectangle : public Carre{ } Carre C; Rectangle R; C=R; Parent=Enfant – possible, linverse – non Cette affectation entraîne une conversion R dans le type C, cest à dire on ne conserve que la donnée- membre a de R.

16 23/02/ Opérations entre classes de même famille. Pointeurs(2) Héritage public class Carre { class Rectangle : public Carre{ } Carre * pC; Rectangle * pR; pC=pR; - possible une conversion pR dans le type pC pR=(Rectangle *) pC; - possible uniquement avec le cast explicite


Télécharger ppt "1 Tableaux des objets C++ si on connaît le nombre dobjets nécessaires davance on peut utiliser des tableau dobjets dans les fonctions dusage class Personne."

Présentations similaires


Annonces Google