构造函数不存在多态,析构函数存在多态。 构造函数 - 多态是通过虚函数来实现的,在C++ 中,构造函数不能是虚函数。因为在对象创建时,必须要明确知道调用哪个类的构造函数来初始化对象。如果构造函数是虚的,在对象还没创建完成时(因为正在调用构造函数来创建),就无法确定对象的真实类型,也就没办法正确地调用虚函数表来实现多态。 析构函数 - 析构函数可以是虚函数。当通过基类指针删除派生类对象时,如果析构函数不是虚函数,只会调用基类的析构函数,可能导致派生类部分的资源没有正确释放,产生内存泄漏等问题。当析构函数是虚函数时,就可以根据对象的实际类型(是基类对象还是派生类对象)来调用正确的析构函数,先调用派生类的析构函数,再调用基类的析构函数,这体现了多态性。
点赞 1

相关推荐

10-26 12:39
南开大学 后端
秋招还是有好处的,能减肥,一周多掉了快7斤
去B座二楼砸水泥地:秋招焦虑我猛吃😋
点赞 评论 收藏
分享
牛客网
牛客企业服务