在将其作为基类访问时,调用派生类的方法

时间:2014-09-12 06:21:49

标签: c++ class inheritance

我想访问派生类的方法,该方法也在基类中定义。问题是,我正在将派生类对象作为基类对象访问。

control.h

class Control
{
   virtual void onHover(Event e);
}

control.cpp

void Control::onHover(Event e)
{}

button.h

class Button : public Control
{
   void onHover(Event e);
}

button.cpp

void Button::onHover (Event e)
{
    show_msg();
}

的main.cpp

int main()
{
   Vector<Control> vec;
   Button but;
   Event ev;
   vec.push_back(but);
   vec[0].onHover(ev);
}

我的问题是,调用基类的onHover()函数。 如何使派生类覆盖基类函数,同时仍能通过基类向量引用它?

0 个答案:

没有答案