【发布时间】:2019-04-11 23:11:04
【问题描述】:
我们都知道一个 Animal 类的基本示例,然后是 Cat 和 Dog 类。但我没有得到一件事,例如假设 Animal 是一个只有一个方法的纯抽象类:
virtual void sayHello() = 0;
然后我们创建了 Cat 和 Dog 类,我们仍然需要覆盖它们类中的方法,所以它的基本目的是什么,因为现在我只看到附加代码。 我有一个 BankAccount 类的例子,我们只用方法制作了 2 个纯虚拟类:一个用于冻结帐户,第二个用于发出有关存款的消息。然后我们创建了 SavingsAccount 类,它继承了前面提到的所有类,但我仍然必须覆盖这些纯虚方法。即使我做了另一个,即外币 CurencyAccount 帐户,我仍然必须覆盖纯虚拟方法。那么制作这些纯虚类和方法的目的是什么?
【问题讨论】:
-
为什么不谷歌“什么是多态性”?
-
@AndreyChernukha 有时人们不知道如何调用某个“事物”。我希望现在不需要答案。
-
抽象类也可以称为interface类。如果您曾经使用过 Java,那么抽象类类似于 Java 接口。简而言之,它们可以被子类用来获得一个通用接口。
-
@Croolman 好的,我同意,但谷歌“什么是 c++ 抽象类”会有所帮助。这绝对不是一个 SO 问题
-
只是关于术语:“纯抽象类”,如标题所示,混合了两个技术术语。成员函数可以是纯虚函数(其声明以
= 0结尾)。具有一个或多个纯虚函数的类是抽象类。