Ответ 1
pBase->Base::foo()
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? */
}
pBase->Base::foo()
Оба вышеприведенных ответа правильны... Но будьте осторожны, если вам нужно это сделать, возможно, у вас есть большая проблема с концепцией или дизайном...
Вы можете сделать это с помощью оператора разрешения области ::
Что-то вроде этого:
pBase->Base::foo()