class Base
{
public:
virtual void foo()
{}
};
class Derived: public Base
{
public:
virtual void foo()
{}
};
int main()
{
Base *pBase = NULL;
Base objBase;
Derived objDerived;
pBase = &objDerived;
pBase->foo();
/*Here Derived class foo will be called, but i want this to call
a base class foo. Is there any way for this to happen? i.e. through
casting or something? */
}
13
A
risposta
29
pBase->Base::foo()
7
lo si può fare attraverso il campo di applicazione operatore di risoluzione ::
Qualcosa di simile a questo:
pBase->Base::foo()
10
Entrambe le risposte di cui sopra sono corretti ... Ma fai attenzione, se hai bisogno di farlo, forse hai un grosso problema sulla concezione o sul design ...
Hai ragione: essenzialmente questo implica che hai bisogno di due metodi. – xtofl