Retour covariant : Copie de this.
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:
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;
} |