【发布时间】:2011-07-21 08:54:04
【问题描述】:
我想确认以下几点:
虚拟机制:
如果我有一个基类A并且它有一个Virtual方法,那么在派生类中,我们一般不会在函数声明中包含virtual语句。但是,当包含在派生类定义中时,虚拟意味着什么。
class A
{
public:
virtual void something();
}
class B:public A
{
public:
virtual void something();
}
这是否意味着我们要覆盖从类 B 派生的类中的某个方法?
另外,还有一个问题,
我有一个类A,它是由三个不同的类派生的。现在,在基类A中有一个虚方法anything()。
现在,如果我要在基类 A::anything() 中为该方法添加一个新的默认参数,我需要将它添加到所有 3 个类中。
我的答案:
- 如果基类中的虚拟方法在派生类中被重新定义为虚拟,那么我们可能意味着它应在使用该类作为基类的相应派生类中被覆盖。
- 是的。如果不覆盖没有任何意义。
如果我的感觉(以上 2)正确,请告诉我。
谢谢, 帕万呻吟。
【问题讨论】:
标签: c++ virtual overriding