Le C++ c'est chaud...
J'ai un petit programme que j'ai essayé de simplifier au maximum
il affiche
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
41
42
43
44
45
46
47
48
49
50 using namespace std; #include <string> #include <vector> #include <stdio.h> class ebovar { public: union { int i; float f; bool b; string *s; void *o; }; // var is null ebovar() : i(0) { printf("++ create NULL\n"); } ~ebovar() { printf("-- delete ebovar %d\n", i); } // integer function ebovar(int v) { i = v; printf("++ create int %d\n", i); } operator int() { return i; } }; /******************************************************************** ** ** Operateur + ** ********************************************************************/ ebovar operator+(ebovar left_op, ebovar right_op) { return (ebovar)((int)left_op + (int)right_op); } int main(int _argc, char **_argv) { ebovar _a = 10; ebovar _b = 12; ebovar _result = _b + _a; }
Comment puis-je avoir 3 appels au constructeur de ma classe et 5 appels au destructeur ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 ++ create int 10 ++ create int 12 ++ create int 22 -- delete ebovar 12 -- delete ebovar 10 -- delete ebovar 22 -- delete ebovar 12 -- delete ebovar 10
Qu'est ce que j'ai manqué ?
Partager