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...
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; }
Make sure you enter the(*)required information where indicate.HTML code is not allowed
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.