Bonjour,
Je suis en plein apprentissage sur la programmation c++ et aujourd'hui j'ai un soucis que je vous soumet:
En effet, j'ai crée une classe Commercial qui hérite de la classe Employé.
Et 2 autres classes Vendeur et Représentant qui héritent de la classe Commercial et j'ai la méthode double calculer_salaire() const
Cette méthode doit me retourner:
Pour le vendeur: (0.2*chiffre d'affaire) + 400
Pour le représentant: (0.2*chiffre d'affaire) + 800
Ma question est de savoir comment faire pour ne pas avoir ces valeurs de 400 et 800 en dur(qui correspondent à la majoration). J'ai pensé pour cela a définir une variable statique dans les classes vendeur et représentant:
Vendeur.hpp:
est-ce la bonne façon sachant que je fais la même chose pour la classe Représentant ou alors faut il plutot la définir dans la classe Commercial?
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 #ifndef VENDEUR_HPP #define VENDEUR_HPP #include "Commercial.hpp" #include <iostream> #include <string> using namespace std; class Vendeur : public Commercial { public: Vendeur(string nom, string prenom, double age, unsigned int date, double CA) : Commercial(nom, prenom, age, date, CA) {} string get_nom() const; double calculer_salaire(); ~Vendeur() {} private: static double majoration; }; #endif double Vendeur::majoration(400); double Vendeur::calculer_salaire() { return (.2 * chiffre_affaire) + majoration; }
Partager