【发布时间】:2011-02-25 08:24:04
【问题描述】:
在函数前面使用保留字 virtual 的目的是什么?如果我希望子类覆盖父函数,我只需声明相同的函数,例如void draw(){}。
class Parent {
public:
void say() {
std::cout << "1";
}
};
class Child : public Parent {
public:
void say()
{
std::cout << "2";
}
};
int main()
{
Child* a = new Child();
a->say();
return 0;
}
输出为 2。
那么,为什么say() 的标题中需要保留字virtual?
非常感谢。
【问题讨论】:
标签: c++ function virtual overriding