在程序中,有些时候我们的基类是不需要实例化的,比如有一个基类哺乳动物,
这个在程序实现的时候没有必要把他实例化出来。而只是一个种群的抽象描述,也
无法进行实例化。所以在C++ 我们可以创建一种叫做抽象数据类型的类。这个类
只是用来继承的,单独没有实例化,没有意义。其实这也是减少了程序员编写代码
后调试的调试难度。在编译器中如果用户对抽象类进行实例化,那么编译器就会报
错。
c++中通过提供纯虚函数来支持抽象类,就是说,只要类中包含至少一个纯虚
函数那么这个类就是抽象类。
纯虚函数的定义方法就是把虚函数初始化为0:
virtual void GetAge() const {} = 0;
这样派生类在继承这个抽象类的时候如果不覆盖这个方法那么这个派生类也是抽象类,
只有把从抽象类中继承下来的所有纯虚函数覆盖掉,我们才真正建立了一个可以实例
化的类。