ExamenC 20-21
ExamenC 20-21
ExamenC 20-21
et langage C++
Exercice 1 :
#include <iostream>
using namespace std;
class Toto{
public :
virtual void XX(){
cout << "XX de Toto" << endl;
YY();
}
virtual void YY(){
cout << "YY de Toto" << endl;
}
};
};
void YY(){
cout << "YY de Coco" << endl;
}
};
1
class Composition{
protected:
Toto& T1; Toto T2; Bobo& T3; Coco T4;
public:
void XX()
{
cout << "appel de XX" << endl;
T1.XX();
cout << "appel de XX" << endl;
T2.XX();
cout << "appel de XX" << endl;
T3.XX();
cout << "appel de XX" << endl;
T4.XX();
}
};
int main()
{
Toto A;
Bobo B;
Bobo BB;
Coco C;
Composition CMP1(A,B,BB,C);
CMP1.XX();
Composition CMP2(A,BB,C,C);
CMP2.XX();
return 0;
}
Exercice 2 :
Le directeur d'une entreprise de produits chimiques souhaite gérer les salaires et les primes de
ses employés.
2
Un employé est caractérisé par son nom, son prénom et sa date d'entrée (les 3 de type
string) en service dans l'entreprise. Définissez une classe Employe dotée des attributs
nécessaires et respectant les contraintes suivantes : (1 pts)
Un constructeur prenant en paramètres les attributs nécessaires.
Une méthode getInfo qui renvoie une chaine de caractères obtenue en concaténant
le nom, prénom et date (séparés par un espace).
Une méthode virtuelle pure salaire qui renvoie le salaire mensuel de l'employé.
Réalisez une hiérarchie de classes pour les employés en respectant les conditions suivantes :
La superclasse de la hiérarchie doit être la classe Employe.
N'hésitez pas à introduire des classes intermédiaires pour éviter au maximum les
redondances d'attributs et de méthodes dans les sous-classes.
Les classes doivent contenir les attributs qui leur sont spécifiques ainsi que le codage
approprie des méthodes salaire et getInfo en précisant la catégorie
correspondante.
3
Chaque sous-classe est dotée d'un constructeur prenant en paramètre les attributs
nécessaires.
Ecrivez le code des différentes classes demandées. (On peut se limiter à un fichier « .cpp »
par classe). (2 pts)