在学习C++时候,有了抽象类不能被实例化的第一种解释:
抽象类中包含纯虚函数,所以不能被实例化。
今天了解到了另一种解释:
抽象类将它的部分或者是全部操作的实现延迟到子类中,因此不能被实例化。
一个是从语法的角度,一个是从实际意义的角度。
两种角度都可以解释这个现象。
其实仔细想想,这两种解释实际上是一个事情,就是说因为抽象类中含有未定义的操作,如果抽象类能实例化,代表着这个操作是可以执行的。如果执行一个未定义的操作,会出现意料之外的问题。
因此,抽象类不能被实例化。
在学习C++时候,有了抽象类不能被实例化的第一种解释:
抽象类中包含纯虚函数,所以不能被实例化。
今天了解到了另一种解释:
抽象类将它的部分或者是全部操作的实现延迟到子类中,因此不能被实例化。
一个是从语法的角度,一个是从实际意义的角度。
两种角度都可以解释这个现象。
其实仔细想想,这两种解释实际上是一个事情,就是说因为抽象类中含有未定义的操作,如果抽象类能实例化,代表着这个操作是可以执行的。如果执行一个未定义的操作,会出现意料之外的问题。
因此,抽象类不能被实例化。