Voici le programme qui me fais des misère, il est vraiment pas clair !
surtout pour moi qui est trop l'habitude de faire du C++ ... lol
enfin quand on dois developper on dev et c'est tout !
-je vous laisse le lire:
Alors je vais vous dire ce que j'ai compris car peut être que je me trompe déjà sur les bases...
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 #include <iostream.h> class A { protected: int x; void f(int); public: A(int a=1){x=a}; }; class B:public A{ int y; public: B(int a)::A(2*a){y=a}; void g(); }; void A::f(int i){ x=i; } void B::g(){ cout <<"x="<<x<<"y="<<y; } void main{ B val(5); val.g(); }
-on a une classe A avec une methode A le constructeur qui affecte la valeur 1 à x.
-ensuite on déclare un classe B héritant de la class A et de ce quelle contient
-mais ce que je saisi pas c'est la déclaration du constructeur B qui en même temps que sa déclaration "B(int a)" on dois surment appeller le constructeur de A pour lui donner la valeur de "2*a" soit "2*1" à "y"
-ensuite on déclare la méthode "f(int i)" qui affecte i à x
-ensuite on déclare la fonction "g()" qui affiche x et y
-et maintenant le programme principale qui me mais encore plus dans le doute que jamais ! avec "B val(5)" je ne voix pas d'où provient le "B val(5)" et "val.g()" car on ne réfère nul part au dessus à "val" .
Enfin si je suis perdus c'est parceque je n'ai vraiment pas l'habitude et que nos cours sont trop espacé ... "vive l'apprentissage !"
je remercie quiconque tente de maider sur cette question perturbante que j'ai en début de DM, je vous remercie
c'est trés sympa
[Balises [code] ajoutées par HW]
Partager