Bonjour,
Dans le cadre d'un travail à rendre en formation, je dois dévelloper des classes.
J'ai par exemple , une classe personnel qui possèdes différents informations, voir ci dessous.
Personnel.h
Personnel.cpp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45 #ifndef _personnel_H #define _personnel_H #include <iostream> using namespace std; //classe personnel class personnel { protected: //reservation de nom pour les chars char *nom; char *prenom; int tel; public: //constructeur personnel personnel(char* = NULL,char* = NULL,char* = 0); //destructeur ~personnel(); //modifie le numéro de téléphone int modiftel(int); //verifie si la personne passé en paramètre est identique à l'objet cible bool operator ==(const personnel &); //permet l'affectation void operator = ( const personnel &); //affiche friend ostream & operator << (ostream &, const personnel &); //saisie friend istream & operator >> (istream &, personnel &); }; #endif
Je codes à l'identique une classe salarie qui hérite de personnel.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82 #include "personnel.h" #include <iostream> using namespace std; //constructeur specialisé de personnnel personnel::personnel(char *x, char *y, char *z) { if (x && y) { nom= new char[strlen(x)+1]; prenom=new char[strlen(y)+1]; strcpy(nom,x); strcpy(prenom,y); } tel = z; } //destructeur personnel::~personnel() { //si il y a un nom on libère l'espace pareil pour le prenom if(nom) { delete []nom; } if(prenom) { delete []prenom; } } // fonction de saisie par surcharge istream & operator >>(istream & f, personnel & p) { char tmp[50]; cout << "Entrez le nom: " ; f >> tmp; p.nom=new char[strlen(tmp)+1]; strcpy(p.nom,tmp); cout << "Entrez le prenom: "; f >> tmp; p.prenom=new char[strlen(tmp)+1]; strcpy(p.prenom,tmp); cout << "Entrez le numero de tel: "; f >> p.tel; return f; } //fonction d'affichage par surcharge ostream & operator <<(ostream & f, const personnel & p) { return f<< p.nom << '\t' << p.prenom <<'\t'<<p.tel<<endl; } //on modifie le numéro de tel int personnel::modiftel(int nouveautel) { tel= nouveautel; } //operator == bool personnel::operator==(const &personnel p) { // on compare le nom if ((strcmp(nom,p.nom)==0) && (strcmp(prenom,p.prenom)==0) && (tel==p.tel)) { return true; } else { return false; } } //on affecte void personnel::operator = (const personnel & p) { nom=p.nom; prenom=p.prenom; tel=p.tel; }
Dans ma classe salarie, je dois saisir des informations et je le fais par surcharge.
Comment je peux faire pour que ma classe salarie appele automatiquement mes fonctions de surcharge de saisie de ma classe personnel???
J'espère que je suis assez explicite. Sinon demandez moi d'autres informations.
Merci d'avance.
Partager