bon voila je propose ma version et vous me corriger ( c'est mieux ainsi non?? ) :
exercice 1 :
1- pour definir les objet on utilise bien sur les classes exemple :
class etudiant
{
private :
int code_etudiant;
char nom_etudiant[30];
public :
void saisie();
void affiche();
};
2- faux ; classe imbriquées est une classe definie dans une classe alors que l'heritage permet d'utiliser les proprietés d'une classe et en ajouter
d'autres pour obtenir une nouvelle classe plus precise exemple :
class A {
public:
void f();
};
class B : public A {
void g();
};
.... A a ; B b ;
a.f(); //permis
b.g(); // permis
b.f(); // permis
a.g(); // non permis g() n'est pas dans A
3-a on utilise la surcharge de fonction pour definir des fonctions ayant le meme nom mais avec des arguments en plus ou des arguments
differents : exemple :
int somme (int n1 , int n2)
{ return n1+n2 ; }
int somme (int n1 , int n2 , int n3 )
{return n1+n2+n3; }
double somme (double n1, double n2)
{ return n1+n2;}
3-b-on utilise les classes amies pour faire acceder ces dernieres aux données membres privées d'une autre classe exemple :
class A {
private :
int i ,nbre;
char nom;
friend class B; // B est autorisée a utiliser le i le nbre et le nom
friend void f(); // f() aussi est autorisée on peut modifier le i ou le nbre a partir de f() directement
public :
void saisie();
void affiche();
};
3-c on utilise des constructeurs pour construire l'objet avec ses attributs , ses methodes , pour initialiser les valeurs des attributs .
exemple :
class exemple {
int i;
char c;
public :
exemple() { i = 0; c = 0 } // constructeur 1
exemple(int ii, char cc)
{ i = ii; c = cc } // constructeur 2
;}
exemple ex1(1,'A'); // constructeur 2 appelé
exemple ex2() // constructeur 1 appelé
===========================================================================================================
exercice 2 :
programme corrigé :
float taxe (float) ;
void main()
{
float achat = 1000, mt_taxe, total;
int a,b=5,c=10;
cout << "\nMontant de l'achat : ";
cin >> achat;
mt_taxe = taxe(achat);
total = achat + mt_taxe;
cout << "\n Achat : " << achat;
cout << "\n Taxe: " << mt_taxe;
cout << "\n Total: " << total;
a=b*3+c/2;
b+=2;
c-=3;
cout <<"\n"<< a<<" "<<b<<" "<<c;
}
float taxe (float montant)
{
float taux = 0.2;
return(montant * taux);
}
============ table d'execution ;
achat= 1000
mt_taxe=1000x0.2=200
total = 1000+200=1200
ecran : Achat : 1000
Taxe : 200
Total : 1200
a=3x5+10/2=20
b=5+2=7
c=10-3=7
ecran : a 20 b 7 c 7
======================================
et pour l'exercice 3 c'est la ou je bloque :s :s je ne sais pas est ce que je dois declarer deux classes l'une imbriquée dans l'autre et faire apres
un tableau de classe " module" car y a une fonction " afficher()" qui affiche tout les modules .