Fermer2
squalylLe 21/05/2008 à 11:22
j'ai fait une classe dérivée d'une autre classe: (je marque pas les constructeurs)
class A {
public:
    virtual void machin();
}

class B: public A {
public:
    virtual void machin();
}

j'ai un objet de type B (la sous classe) dans laquelle j'appelle la méthode machin()
Je voudrais que cette méthode commence par appeler A::machin() (c'est un widget en fait, et machin c'est paint grin)
je dois faire comment? je vois pas autrement qu'avec un cast:
void A::machin() {
    //trucs a machiner dans A
}

void B::machin() {
    ((A*)this)->machin();
    //trucs à machiner dans B
}

C'est bien ça?
le super.machin() de java me manque sad (mais je comprends qu'il soit pas dispo, vu l'héritage multiple)