
/*********** question 3 **/

#include <iostream.h>
class A{
   int n; float x;
public :
   A(int p=2) { 
      n=p; x=1;
      cout << "Constructeur de A : " << n << ", "<< x << "\n";
   }
};
class B {
   int n;  float y;
public :
   B(float v=0.0) {
      n=1; y=v;
      cout << "Constructeur de B : " << n << ", "<< y << "\n";
   }
};
class C : public B, public A {
   int n; int p;
public :
   C(int n1=1,int n2=2, int n3=3,float v=0.0):A(n1),B(v) {
      n=n3;p=n1+n2;
      cout << "Constructeur de C : " << n << ", "<< p << "\n";
   }
};
main() {
   C c1;
   C c2(10,11,12,5.0);
}

/**** resultat de l'execution :

Constructeur de B : 1, 0
Constructeur de A : 1, 1
Constructeur de C : 3, 3
Constructeur de B : 1, 5
Constructeur de A : 10, 1
Constructeur de C : 12, 21
*/

