C++ operator sans cast

C++ operator sans cast - Programmation

Marsh Posté le 03-04-2002 à 10:24:22    

Salut,
 
J'ai un petit problème meta-physique...
J'ai 2 classes : A et B et B dérive de A...
 
De la classe B je peux appeler les méthodes de A sans problèmes.
 
B::func()
{
  A::meth();
}
 
Mais par contre, comment je fais pour appeler un operateur de A ?
 
B::operator+=(toto)
{
  A::operator+= toto;
}
 
ne fonctionne (compile) pas :(
 
Des idées ? Des exemples ?
 
Si je fais un truc du style *((A *)this) += toto;
ca passe à la compilation. Mais je pense pas que ca soit juste ou propre...


---------------
Tout n'est pas si facile, tout ne tient qu'à un fil.
Reply

Marsh Posté le 03-04-2002 à 10:24:22   

Reply

Marsh Posté le 03-04-2002 à 11:22:09    

C'est bon, ne vous bousculez pas pour répondre...
J'ai trouvé !
 
Il suffit de faire :
 
B::operator+=(toto)
{
  static_cast<B>(*this) += toto;
}


---------------
Tout n'est pas si facile, tout ne tient qu'à un fil.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed