Bonjour,
Le programme ne produit pas l'output indiqué dans le livre.
Soit le code suivant :
Il est indiqué que le code doit produire un output proche de ça :
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
29
30
31
32
33
34
35
36
37
38
39
40 #include <iostream> using namespace std ; class point { int x, y ; public : point (int abs=0, int ord=0) // constructeur "usuel" { x=abs ; y=ord ; cout << "++ Appel Const. usuel " << this << " " << x << " " << y << "\n" ; } point (const point & p) // constructeur de recopie { x=p.x ; y=p.y ; cout << "++ Appel Const. recopie " << this << " " << x << " " << y << "\n" ; } ~point () { cout << "-- Appel Destr. " << this << " " << x << " " << y << "\n" ; } point symetrique () ; } ; point point::symetrique () { point res ; res.x = -x ; res.y = -y ; return res ; } int main() { point a(1,3), b ; cout << "** avant appel de symetrique\n" ; b = a.symetrique () ; cout << "** apres appel de symetrique\n" ; }
Mais l'output est celui-ci :++ Appel Const. usuel 0x61ff10 1 3
++ Appel Const. usuel 0x61ff08 0 0
** avant appel de symetrique
++ Appel Const. usuel 0x61ff18 0 0
++ Appel Const. recopie
-- Appel Destr. 0x61ff18 -1 -3
-- Appel Destr.
** apres appel de symetrique
-- Appel Destr. 0x61ff08 -1 -3
-- Appel Destr. 0x61ff10 1 3
++ Appel Const. usuel 0x61ff10 1 3
++ Appel Const. usuel 0x61ff08 0 0
** avant appel de symetrique
++ Appel Const. usuel 0x61ff18 0 0
-- Appel Destr. 0x61ff18 -1 -3
** apres appel de symetrique
-- Appel Destr. 0x61ff08 -1 -3
-- Appel Destr. 0x61ff10 1 3
Partager