C++中的抽象类机制有什么特别之处?

rid*_*hap 2 c++ abstract-class pure-virtual

我有几天困扰我的问题.

抽象类是一种我们无法实例化的特殊类,对吧?(其被表示/通过给人一种"= 0"的至少一个方法的声明,它看起来像事后指定).

什么额外的好处是,抽象类机制带来的C++,一个"正常"的基类无法实现?

Wya*_*son 7

根据关于抽象类wikibooks部分:

这是强制类设计者和该类用户之间签订合同的一种方式.如果我们希望从抽象类创建一个具体类(可以实例化的类),我们必须为基类的每个抽象成员函数声明和定义匹配的成员函数.

如上所述,它是一种定义派生类必须遵守的接口的方法.他们Vehicle抽象类的例子非常合适:你Vehicle在现实生活中从未有过,你有福特探险者或丰田普锐斯,但这些都符合(为了论证)一套基本的功能这Vehicle可能是一个定义.但是,你不能只是去Vehicle经销商那里开车Vehicle.因此,您永远不希望能够构建和使用基本Vehicle对象,而您真正需要一个专门的派生对象.