c ++中真实和虚方法的区别

时间:2012-12-08 18:33:12

标签: c++

我已经在维基百科上阅读了这些定义,但我想用简单的英语理解它们这些是我在维基百科上读到的定义

virtual functionvirtual methodfunctionmethod,其行为可以通过具有相同签名的函数在继承类中覆盖“

pure virtual functionpure virtual methodvirtual function,需要由非抽象的派生类实现”

我的另一个问题是,如果我有virtual methodclass A,我怎样才能在class Bclass A中执行class B ....我读过很多书,我知道有人说这可能与这里的一些问题重复,但我真的很想用简单的英语来理解,因为我可以轻松快速地了解事物。

1 个答案:

答案 0 :(得分:2)

从中继承的子类不能覆盖基类的非虚方法。 (请注意,这与“重新定义”子类中的方法不同)

子类可以覆盖基类的虚方法。 (参见@ juanchopanza关于private可见性的评论)

基类中的纯虚方法意味着它是一个“抽象”(将其视为一个接口) - 因为它不应该直接使用,而是基类期望子类重写给出实际实现的方法。