问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

构造函数和析构函数中能否调用虚函数

发布网友 发布时间:2022-05-17 09:22

我来回答

1个回答

热心网友 时间:2023-10-17 04:37

1.
如果一个类不可能是基类就不要申明析构函数为虚函数,虚函数是要耗费空间的。
2. 析构函数的异常退出会导致析构不完全,从而有内存泄露。最好是提供一个管理类,在管理类中提供一个方法来析构,调用者再根据这个方法的结果决定下一步的操作
3. 在构造函数不要调用虚函数。在基类构造的时候,虚函数是非虚,不会走到派生类中,既是采用的静态绑定。显然的是:当我们构造一个子类的对象时,先调用基类的构造函数,构造子类中基类部分,子类还没有构造,还没有初始化,如果在基类的构造中调用虚函数,如果可以的话就是调用一个还没有被初始化的对象,那是很危险的,所以C++中是不可以在构造父类对象部分的时候调用子类的虚函数实现。但是不是说你不可以那么写程序,
你这么写,编译器也不会报错。4.在析构函数中也不要调用虚函数。在析构的时候会首先调用子类的析构函数,析构掉对象中的子类部分,然后在调用基类的析构函数析构基类部分,如果在基类的析构函数里面调用虚函数,会导致其调用已经析构了的子类对象里面的函数,这是非常危险的。5. 记得在写派生类的拷贝函数时,调用基类的拷贝函数拷贝基类的部分,不能忘记了
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
少儿学什么舞蹈 青年学什么舞蹈好 成年人学什么舞蹈 福州企业最低工资标准 2013年厦门的底薪是多少 生产要素的需求有哪些性质 生产要素的需求有何特点? 什么是生产要素需求 微观经济学要素需求什么是条件要素需求?它和要素需求有什么不同?_百度... 养宠物的人遵守规则,是不是就能和别人平安相处呢? C++的构造函数调用虚函数 构造函数中间接调用虚函数 构造函数里面调用虚函数会报错么 电子秤可以竖着放吗 本公司是一家建筑公司,本公司收购另外一家建筑公司,请问被收购公司的资质能转移到本公司吗?转移程序? 企业迁移到他省 预缴增值税余额如何处理? 建筑企业迁移到外省,法人的安全A证一直没有迁出,是否影响企业的经营活动? 建筑公司请电力公司迁移电线杆付的工程服务记什么科目 建筑公司迁移时公司人员配置需配备齐全吗? 一个肉包子或者茄子包子的热量高吗? 一个肉包的热量和一个肉包子的皮的热量 是一个肉包的热量大还是豆沙包 早上是一个肉包和一碗粥,中午是粗粮麦片和一个橘子晚上是一个苹果和一个梨,这么多的总热量是多少 大班语言游戏家电 上海这边一个肉包加一杯豆浆或豆花热量?如果换花卷,白馒头或两个烧卖热量呢? 手机怎么申诉QQ密码? TCH20VM9210锂电角磨锂电池多少钱一块?哪里有卖的? 20v充电角磨机电池测量正负极有12v电压就是冲不进电是什么原因呢?_百度问一问 20v角磨机能不能接24V 建企业网站用哪个建站系统更方便? 为啥不要在构造函数中调用虚函数 为什么不要在构造函数中调用虚函数 如何让构造函数具有虚函数的效果?c++ MFC的CWinApp的构造函数是怎么调用虚函数InitInstance()的? C++类的构造函数不能调用该类的虚函数?那我想在 初始化这个类的时候就 执行某个虚函数怎么办? 桥边上卖闪电,成都话什么意思 - 信息提示 成都话卖闪电是什么意思 物理 ,请问 电场中某点场强的方向就是将点电荷放在该点所受电场力的方向 这句话是对的吗? 四川话闪电怎么说 同一个手机号可以分身三个吗 怪盗基德是超级英雄请问有没有这本书的网盘。有的话请发一下。 如何用键盘关掉电脑的声音? 你已设置拒登录换绑注册短信这个要怎么关闭? 你已设置拒登录换绑注册短信这个要怎么关闭- 问一问 微信更换手机号提示:你已设置拒登录、换绑、注册短信是怎么回事?_百度问一问 换绑的时候显示:你已设置拒登录,换绑,注册短信该怎么办? 微信团队提示我的正在尝试登陆一个新设备方式是短信验证码 是怎么回事啊 你已设置拒登录换绑注册短信这个要怎么关闭 中国人寿鑫福赢家年金险值得推荐吗?注意哪些问题?