c++ 抽象类

类中没有定义的虚函数称为纯虚函数,包含纯虚函数的类称为抽象类。

抽象类没有完整的描述对象,因此不允许创建抽象类的实例,该类存在的唯一理由是从中派生其他的类。

因为不能创建抽象类的对象,所以不能把它用作函数的参数类型或返回类型。

 

但是抽象类的指针或引用可以用作参数的或返回类型。

 

虚拟类默认的析构函数是静态绑定的,所以删除时只会调用基类的析构函数,当派生类的成员中有指向自由

存储区的指针时,只调用基类的析构函数就会造成内存泄漏。

 

为了给派生类调用正确的析构函数,需要实现析构函数的动态绑定。

抽象类中需要确保析构函数也是动态调用的。

 

posted on 2018-07-17 13:54  rivsidn  阅读(223)  评论(0)    收藏  举报

导航