具有抽象和虚方法的类

时间:2011-10-12 16:24:21

标签: c++ polymorphism

我可以编写一个具有虚方法的类 - (可以重写但具有默认行为)以及抽象方法 - (必须重写)

我可以定义一个定义虚拟实现但不定义摘要的实现吗?

另外,我可以创建在非抽象/纯虚拟类中没有实现的抽象方法吗?

3 个答案:

答案 0 :(得分:8)

  

我可以编写一个具有虚方法的类 - (可以重写但具有默认行为)以及抽象方法 - (必须重写)

  

我可以定义一个定义虚拟实现但不定义摘要的实现吗?

  

另外,我可以创建在非抽象/纯虚拟类中没有实现的抽象方法吗?

没有。纯虚拟成员的存在禁止您创建类实例,即使类抽象。

答案 1 :(得分:1)

可以使用一些具有合理默认实现的虚方法,而其他纯虚方法必须在派生类中实现。

答案 2 :(得分:1)

是的,你可以。如果你的类有一个纯虚方法,那么类将是抽象的,无法实例化,但你可以实现所有其余的方法(虚拟或其他方法),继承类将能够访问它们。