15Fermer17
spectrasLe 08/08/2007 à 12:16
nEUrOO> c'est sensiblement différent, justement parce que self est un paramètre explicite, et pas un truc magique sorti de nulle part.
Godzil>
Ce n'est que TON point de vue, et a mon avis il est bien plus sur d'utiliser this-> des que l'on veux acceder au contenu de la classe/objet que de permettre de le faire de maniere non préfixé.
Sauf que c'est pas toujours équivalent.
class A {
    virtual int f();
}
class B : virtual A {
    virtual int f();
}
class C : B, virtual A {
    using A::f;
    void test() {
        f();        // Appelle A::f
        this->f();  // Appelle B::f
    }
}
Sauf erreur de déclaration, ça doit être ça en principe (merci de corriger l'exemple le cas échéant, ça fait super longtemps que j'ai pas remis le nez dedans, et chaque déclaration compte, quel héritage est virtuel, lequel ne l'est pas, ... pour arriver à ce résultat) ^^