【发布时间】:2010-04-19 17:58:56
【问题描述】:
我有一个问题,下面是两个类:
class Base{
public:
virtual void toString(); // generic implementation
}
class Derive : public Base{
public:
( virtual ) void toString(); // specific implementation
}
问题是:
如果我想Derive 类的子类使用Base 类型的指针执行多态,括号中的关键字 virtual 是否必要?
如果答案是否定的,那么 Derive 类的成员函数 toString 有和没有 virtual 有什么区别?
【问题讨论】:
-
这是可选的,但有些人认为明确覆盖成员函数是一种良好的风格。
标签: c++ virtual-functions