首页 > 其他分享 >【转载】父类(基类)的虚析构函数

【转载】父类(基类)的虚析构函数

时间:2023-07-29 11:45:25浏览次数:54  
标签:调用 函数 子类 析构 基类 父类 虚析构

【推荐】

基类建议使用虚析构函数,其子类、孙类不使用虚析构。

当一个类不作为基类使用时, 不建议使用虚析构函数, 虚析构函数会增加一个虚函数表指针的长度,从而增加类对象的占用空间

【具体现象】

1、基类析构函数不定义为虚析构,当我们用基类指针指向子类对象的时候,只会调用基类析构函数

2、当基类设置为虚析构,子类的析构函数会被调用,且子类的析构函数不需要设置为虚析构,孙子类的析构函数仍然会调用

【具体详情】

虚析构函数详解_会头痛的可达鸭的博客-CSDN博客

标签:调用,函数,子类,析构,基类,父类,虚析构
From: https://www.cnblogs.com/xixixing/p/17589559.html

相关文章

  • jpa无法保存父类字段
    问题:新拉的分支,在保存对象时无法保存父类字段?相同的代码不同分支,虽然改过一些基础代码,不清楚为什么新的分支出现这个问题解决办法:父类增加@MappedSuperclass注解@Data@MappedSuperclasspublicabstractclassBaseEntity{@Basic@Column(name="create_by")......
  • java 父类构造子类
    Java父类构造子类在Java中,一个类可以继承另一个类,被继承的类称为父类或超类,继承的类称为子类或派生类。子类继承了父类的属性和方法,可以在此基础上添加新的属性和方法,或者修改父类的方法实现。当创建子类的对象时,子类的构造函数会首先调用父类的构造函数,以确保子类可以获得父类的......
  • 继承之子类重写父类同名属性和方法
    1'''2子类重写父类同名属性和方法3'''456#1.师父类,属性和方法7classMaster(object):8def__init__(self):9self.kongfu='[古法煎饼果子配方]'1011defmake_cake(self):12print(f'执行了Master类的m......
  • 继承之子类复用父类的属性、方法
    1'''2继承:子类复用父类属性、方法3'''456classParent():78def__init__(self):9self.name='Allen'1011defsay(self):12print(f'sayname:{self.name}')131415#子类......
  • 什么是java中输出流的基类
    什么是Java中输出流的基类概述在Java中,输出流是用来将数据从程序输出到各种目标的流。它是一种用于写入数据的抽象类,是JavaI/O库的一部分。Java中的输出流类众多,但它们都是从一个基类继承而来的。了解输出流的基类是理解和使用Java输出流的关键。本文将向你介绍Java中输出流的基......
  • C++ 虚基类
    虚基类(VirtualBaseClass)在面向对象编程中的作用是解决多重继承中的菱形继承问题(DiamondInheritanceProblem)和共享基类问题(SharedBaseClassProblem)。菱形继承问题是指当一个类以多种路径继承自同一个基类时,会导致该基类在派生类中存在多个实例,造成冗余和二义性。虚基类通过......
  • 怎样优雅地增删查改(四):创建通用查询基类
    @目录创建通用查询抽象层创建通用查询应用层基类创建通用查询控制器基类[可选]替换RESTfulApi扩展泛型参数服务的“渐进式”使用上一章我们实现了Employee管理模块,Employee的增删改查是通过其应用服务类,继承自Abp.Application.Services.CrudAppService实现的。我们将封装通用的......
  • 79.如果想将某个类用作基类,为什么该类必须定义而非声明?
    79.如果想将某个类用作基类,为什么该类必须定义而非声明?派生类中包含并且可以使用它从基类继承而来的成员,为了使用这些成员,派生类必须知道他们是什么。所以必须定义而非声明。参考资料来源:阿秀......
  • 119子类依旧使用父类的属性和方法
    classPhone:IMEI=2020001producer="apple"defcall_by_4g(self):print("4g通话")classMyPhone2(Phone):IMEI=2023001producer="banana"defcall_by_4g(self):old_return_value=super......
  • 多继承 当父类有重名的属性时 ,嫡长子(最左边的类中的属性)存在
    classPhone:IMEI=2020001producer="apple"defcall_by_4g(self):print("4g通话")classNFCReader:nfc_type="第五代"producer="apple"defread_card(self):print("读取NFC卡")......