构造函数&析构函数&虚函数

本文探讨了C++中虚函数的使用原则与注意事项,包括赋值运算符重载不应定义为虚函数的原因、构造函数与析构函数中调用虚函数的问题、哪些函数不能声明为虚函数以及何时需要定义虚函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、赋值运算符重载operator= 可以定义为虚函数,但不建议这样写
(1)容易混淆
(2)赋值运算符重载实际上相当与协变【子类的operator=隐藏父类的operator=】,如果显式调用父类则需要指定其作用域
不建议是因为:赋值运算符重载是用来合成的,父类的需要调父类的去拷贝,而重写是要么调父类的,要么调子类的
2、最好不要在构造函数和析构函数中调用虚函数


3、内联函数、构造函数、静态成员函数可以是虚函数吗?

4、在什么情况下需要定义成虚函数?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值