我已经在维基百科上阅读了这些定义,但我想用简单的英语理解它们这些是我在维基百科上读到的定义
virtual function
或virtual method
是function
或method
,其行为可以通过具有相同签名的函数在继承类中覆盖“
“pure virtual function
或pure virtual method
是virtual function
,需要由非抽象的派生类实现”
我的另一个问题是,如果我有virtual method
和class A
,我怎样才能在class B
或class A
中执行class B
....我读过很多书,我知道有人说这可能与这里的一些问题重复,但我真的很想用简单的英语来理解,因为我可以轻松快速地了解事物。
答案 0 :(得分:2)
从中继承的子类不能覆盖基类的非虚方法。 (请注意,这与“重新定义”子类中的方法不同)
子类可以覆盖基类的虚方法。 (参见@ juanchopanza关于private
可见性的评论)
基类中的纯虚方法意味着它是一个“抽象”(将其视为一个接口) - 因为它不应该直接使用,而是基类期望子类重写给出实际实现的方法。