为什么a/d/e和b并没有继承关系,转化后依然可以输出子类的内容? 这是因为静态绑定。 个人理解,大神们轻拍。 v.push_back(new d); v.push_back(new a); v.push_back(new x); v.push_back(new b); v.push_back(new e); v里面的5个指针,在编译的时候都已经知道所指对象的虚函数表中的函数实现(静态绑定)。 后续虽然有指针的类型转换,但是指针所指向的对象没有变,就不存在动态绑定。 vptr是保存在对象的内存空间中的,这点很重要。
点赞 7

相关推荐

点赞 评论 收藏
分享
2025-12-28 16:32
重庆邮电大学 Java
程序员花海:1.技能放最后,来面试默认你都会,技能没啥用 2.实习写的看起来没啥含金量,多读读部门文档,包装下 接LLM这个没含金量 也不要用重构这种 不会给实习生做的 3.抽奖这个还是Demo项目,实际在公司里面要考虑策略,满减,触发点,触发规则 库存 之类的,不是这个项目这么简单 4.教育背景提前,格式为 教育背景 实习 项目 技能 自我评价
简历被挂麻了,求建议
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务