构造函数与析构函数之比较

 

构造函数与析构函数的比较表:

名称

功能

是否可重载

是否可继承

是否可定义为虚函数

是否可带参数

是否有返回值

构造函数

初始化、自动调用

可重载

不可继承

不可定义为虚函数

可带参数

无返回值

析构函数

用于清除(实例、内存回收)、自动调用

不可重载(当定义为虚函数时,相当于隐性继承)

不可继承

可定义为虚函数

不可带参数

无返回值

 

注:重载指函数名相同、参数列表(参数个数或数据类型)不同,与返回值无关。

       继承指基类函数与派生类(子类)函数完全相同。

附:内联函数、构造函数和静态成员函数不可定义为虚函数。

为什么静态成员函数不可定义为虚函数?(反证法)

答:如果定义为虚函数,那么它就是动态绑定的,也就是在派生类中可以被覆盖的,这与静态成员函数的定义本身就是相矛盾的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值