Exercice 80
Énoncé
Quels seront les résultats fournis par l’exécution de ce programme :
#include
using namespace std ;
class point
{ int x, y ;
public :
point ()
{ x=0 ; y=0 ;
cout << "** constructeur 0 argument\n" ;
}
point (int abs)
{ x=abs ; y=0 ;
cout << "** constructeur 1 argument\n" ;
}
point (int abs, int ord)
{ x=abs ; y=ord ;
cout << "** constructeur 2 arguments\n" ;
}
point (point & p)
{ x=p.x ; y=p.y ;
cout << "**constructeur par recopie\n" ;
}
void affiche ()
{ cout << "point de coordonnees : " << x << " " << y << "\n" ;
}
} ;
main()
{ point a(10,20) ;
point b(30,40) ;
point courbe[6] = { 4, a, 0, b} ;
for (int i=0 ; i<6 ; i++) courbe[i].affiche() ;
}
** constructeur 2 arguments // construction (classique) de a
** constructeur 2 arguments // construction (classique) de b
** constructeur 1 argument // construction courbe[0]
**constructeur par recopie // construction courbe[1]
** constructeur 1 argument // construction courbe[2]
**constructeur par recopie // construction courbe[3]
** constructeur 0 argument // construction courbe[4]
** constructeur 0 argument // construction courbe[5]
point de coordonnees : 4 0
point de coordonnees : 10 20
point de coordonnees : 0 0
point de coordonnees : 30 40
point de coordonnees : 0 0
point de coordonnees : 0 0
Après la construction classique des points a et b, il y a création d’un tableau de 6 objets
de type point. Les quatre premiers points sont construits par :
183
Énoncé
Quels seront les résultats fournis par l’exécution de ce programme :
#include
using namespace std ;
class point
{ int x, y ;
public :
point ()
{ x=0 ; y=0 ;
cout << "** constructeur 0 argument\n" ;
}
point (int abs)
{ x=abs ; y=0 ;
cout << "** constructeur 1 argument\n" ;
}
point (int abs, int ord)
{ x=abs ; y=ord ;
cout << "** constructeur 2 arguments\n" ;
}
point (point & p)
{ x=p.x ; y=p.y ;
cout << "**constructeur par recopie\n" ;
}
void affiche ()
{ cout << "point de coordonnees : " << x << " " << y << "\n" ;
}
} ;
main()
{ point a(10,20) ;
point b(30,40) ;
point courbe[6] = { 4, a, 0, b} ;
for (int i=0 ; i<6 ; i++) courbe[i].affiche() ;
}
** constructeur 2 arguments // construction (classique) de a
** constructeur 2 arguments // construction (classique) de b
** constructeur 1 argument // construction courbe[0]
**constructeur par recopie // construction courbe[1]
** constructeur 1 argument // construction courbe[2]
**constructeur par recopie // construction courbe[3]
** constructeur 0 argument // construction courbe[4]
** constructeur 0 argument // construction courbe[5]
point de coordonnees : 4 0
point de coordonnees : 10 20
point de coordonnees : 0 0
point de coordonnees : 30 40
point de coordonnees : 0 0
point de coordonnees : 0 0
Après la construction classique des points a et b, il y a création d’un tableau de 6 objets
de type point. Les quatre premiers points sont construits par :
183
