C++ Appel de sous-classe de la méthode de la superclasse

J'ai un code du style suivant:

class SubClass;
class SuperClass;

class SuperClass {

private:

    void bar() {

        SubClass().foo();
    }
};

class SubClass : SuperClass {

public:

    void foo() {};
};

Donc en gros j'ai une super-classe de l'endroit où je veux appeler une méthode foo() de la sous-classe.
VS 2012 me donne l'erreur suivante:

Erreur 1 erreur C2514: 'la sous-classe": classe n'a pas de constructeurs.

Error 2 error C2228: la gauche de '.foo' doit avoir class/struct/union.

Qu'est-ce que la structure correcte pour ce que je veux faire?

  • virtual void foo();?
  • Vous ne devriez pas envie de le faire.
  • C'est un très bon et utile que de vouloir le faire. Son pourquoi des fonctions virtuelles ont été ajoutés à c++.
InformationsquelleAutor ChrisGeo | 2013-04-01