【发布时间】:2011-10-12 16:24:20
【问题描述】:
我可以编写一个具有虚拟方法(可以被覆盖但具有默认行为)和抽象方法(必须被覆盖)的类
我可以有一个定义来定义虚拟的实现而不是抽象的实现吗?
另外,我可以创建在非抽象/纯虚拟类中没有实现的抽象方法吗?
【问题讨论】:
标签: c++ polymorphism
我可以编写一个具有虚拟方法(可以被覆盖但具有默认行为)和抽象方法(必须被覆盖)的类
我可以有一个定义来定义虚拟的实现而不是抽象的实现吗?
另外,我可以创建在非抽象/纯虚拟类中没有实现的抽象方法吗?
【问题讨论】:
标签: c++ polymorphism
我可以编写一个具有虚拟方法(可以被覆盖但具有默认行为)和抽象方法(必须被覆盖)的类
是的。
我可以有一个定义来定义虚拟的实现而不是抽象的实现吗?
是的。
另外,我可以创建在非抽象/纯虚拟类中没有实现的抽象方法吗?
没有。纯虚拟成员的存在禁止您创建类实例,即使类抽象。
【讨论】:
有些虚方法可以有合理的默认实现,而其他纯虚方法必须在派生类中实现。
【讨论】:
是的,你可以。如果你的类有一个纯虚方法,那么类将是抽象的并且不能被实例化,但你可以实现所有其余的方法(虚或其他)并且继承类将能够访问它们。
【讨论】: