Boujours,
Je créer une sucession de classe qui éritent en cascaet j'aimerais redéfinir le type de retour de operator++ (int). Maleureusement je ne peut pas utiliser les retour covarian car je doit renvoiller une copie de this avent que les actions de ++ soit éfectuer. Je voudrais savoir si il y a une solution avec les cast.
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 class A { virtual inline Point & operator-- (); virtual inline Point operator-- (int); } class B : public A { virtual inline Point & operator-- (); virtual inline Point operator-- (int); } class C : public B { virtual inline Point & operator-- (); virtual inline Point operator-- (int); } inline A & A::operator++ () { x++; return *this; } inline A A::operator++ (int) { Point ans = *this; ++(*this); return ans; } inline B & B::operator++ () { x++; return *this; } inline B B::operator++ (int) { Point ans = *this; ++(*this); return ans; }
Partager