首页文章正文

析构函数不可以是虚函数,基类析构函数可以是非虚函数

析构函数定义为虚函数的作用 2023-11-01 12:50 780 墨鱼
析构函数定义为虚函数的作用

析构函数不可以是虚函数,基类析构函数可以是非虚函数

大家已经说了为什么最好不要(注意不是不能)在析构函数中调用虚函数。我解释下一旦派生类析构函数运③构造函数不需要是虚函数,也不允许是虚函数,因为创建一个对象时我们总是要明确指定对象的类型,尽管我们可能通过实验室的基类的指针或引用去访问它。但析构却不

而构造函数是在创建对象时自动调用的,不可能通过父类的指针或者引用去调用,因此也就规定构造函数不能是虚函数。2、为什么析构函数可以是虚函数编译器总是根据类型来调用类成员函虚函数的作用在于通过父类的指针或者引用来调用它的时候能够变成调用子类的那个成员函数。而构造函数是在创建对象时自动调用的,不可能通过父类的指针或者引用

构造函数不能是虚函数,析构函数可以且常常是虚函数。构造函数不能是虚函数存储空间角度虚函数的调用需要vptr 指针,而该指针存放在对象的内容空间中,需要调百度试题题目析构函数不可以声明为虚函数。A.正确B.错误相关知识点:试题来源:解析B.错误反馈收藏

虚函数的调用需要虚函数表指针,而该指针存放在对象的内存空间中;若构造函数声明为虚函数,那么由于对象还未创建,还没有内存空间,更没有虚函数表地址用来调用虚总结一下,很明显,析构函数可以声明为虚函数,但不是必须。某些情况下,也是必须的,比如,当类指针指向的是该类的子类实例时,析构函数必须声明为虚函数,以防止内存泄漏。

后台-插件-广告管理-内容页尾部广告(手机)

标签: 基类析构函数可以是非虚函数

发表评论

评论列表

灯蓝加速器 Copyright @ 2011-2022 All Rights Reserved. 版权所有 备案号:京ICP1234567-2号