
抽象类是含有纯虚函数的类。
纯虚函数是指被标明为不具体实现的虚拟成员函数。它用于这样的情况:定义一个基类时,会遇到无法定义基类中虚函数的具体实现,其实现依赖于不同的派生类。
定义纯虚函数的一般格式为:virtual 返回类型 函数名(参数表)=0;
含有纯虚函数的基类是不能用来定义对象的。纯虚函数没有实现部分,不能产生对象。定义纯虚函数时,不能定义虚函数的实现部分。即使是函数体为空也不可以,函数体为空就可以执行,只是什么也不做就返回。而纯虚函数不能调用。
在派生类中必须有重新定义的纯虚函数的函数体,这样的派生类才能用来定义对象
抽象类的纯虚函数表达了一种“规约”和“协议”的含义,只有接口的约定,没有实现的约束,这样就使接口与实现完成解耦,便于软件统一接口的同时保持实现的灵活性,这也正是组件编程的基本思想。
纯虚函数:当一个类被定义后,有一些函数往往还不能确定,这个时候为了访止乱写一个制成错误,就要用纯虚函数。没有函数体的函数。
抽象类:一个类中如果存在了纯虚函数,那么这个类只是为了描述一个大的概念,世界上不会存在真的它。
一个小例子,你不知道水果是要切开吃还是真接吃。世界上也没有水果这种东西。
但是桔子是有的,可以剥开吃,你也可以买到一个。
放在程序中的用处是:你可以用一个含有代码的函数去调用一个纯虚函数,因为它是一定会存在的。
·纯虚函数是一个模糊的类内部的约定,它需要用子类来实现。
虚析构函数:在子类中建了一些对象一般是不能被父类预知的,所以常常要在子类中建立新的析构函数覆盖父类的析构函数。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)