博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
构造函数,析构函数是否为虚函数
阅读量:4321 次
发布时间:2019-06-06

本文共 367 字,大约阅读时间需要 1 分钟。

1:构造函数不能为虚函数

    1):虚函数是用父类指针引用子类对象用的,(父类)构造函数在被调用的时候,子类对象还没被创建,不能用虚函数

    2):虚函数是通过vtable来调用的,vtable存在于对象的存储空间中,构造函数被调用的时候,对象还未生成,空间未分配,

           因此构造函数不能为虚函数

2:析构函数可以为虚函数,而且尽量设置为虚函数

    1):释放对象的时候,先调用子类的析构函数,再调用父类的析构函数。

           非虚函数是静态绑定的,当去释放一个指向子类对象的父类指针时,如果父类的析构函数是非虚函数,这时就只能调用

           父类的析构函数,子类的析构函数得不到调用。

     2):析构函数定义为纯虚函数时,需要为其定义函数体。

            (可以为纯虚函数定义函数体)

 

转载于:https://www.cnblogs.com/zgyseu/p/3708191.html

你可能感兴趣的文章
Python编程语言的起源
查看>>
Azure ARMTemplate模板,VM扩展命令
查看>>
在腾讯云上创建您的SQL Cluster(4)
查看>>
linux ping命令
查看>>
Activiti源码浅析:Activiti的活动授权机制
查看>>
数位dp整理
查看>>
UNIX基础知识
查看>>
bzoj 1179: [Apio2009]Atm
查看>>
利用LDA进行文本聚类(hadoop, mahout)
查看>>
第三周作业
查看>>
js添加删除行
查看>>
浏览器性能测试网址
查看>>
[MTK FP]用Python把图片资源image.rar中为.pbm后缀的文件更改为.bmp后缀的方法
查看>>
实验二
查看>>
[LeetCode]203. Remove Linked List Elements 解题小结
查看>>
测试一下
查看>>
vue base64
查看>>
【Django实战开发】案例一:创建自己的blog站点-1.安装及搭建开发环境
查看>>
Pie(二分)
查看>>
Mysql 索引优化
查看>>