首页
文章列表
标签墙
返回找工具啦
虚函数
共 4 篇文章
C++对象切片问题:父类指针赋值导致数据丢失
2026-04-27 06:23:27
C++对象切片问题:父类指针赋值导致数据丢失 在C++开发中,将子类对象赋值给父类对象时,经常会出现“数据丢失”的现象,即派生类中新增的成员变量和方法被“切掉”了。这种现象被称为“对象切片”。下面通过具体步骤复现该问题,并提供标准解决方案。 1. 复现对象切片问题 首先,定义一个基类 Animal
C++
对象切片
继承
45
0
C++ std::function类型擦除与虚函数开销对比
2026-04-25 19:17:51
C++ std::function类型擦除与虚函数开销对比 在 C++ 性能优化的过程中,选择正确的多态实现方式至关重要。本文将通过实际代码测试,对比传统虚函数与 std::function 的性能差异,并揭示其背后的内存与CPU开销机制。 1. 搭建性能测试环境 为了准确测量调用开销,我们需要创建
C++
性能优化
std::function
35
0
C++ 多态:虚函数与纯虚函数的实现
2026-04-06 19:21:22
C++ 多态:虚函数与纯虚函数的实现 阶段一:实现基础多态(虚函数) 多态的核心逻辑是“统一指令,差异化执行”。通过虚函数,基类指针或引用在调用函数时,会跳过基类默认代码,直接执行指针实际指向的派生类代码。 1. 声明 虚函数原型。在基类头文件(如 Shape.h)的 public: 区域,编写普通
C++编程
面向对象
多态机制
66
0
C++ 继承问题:菱形继承与虚函数
2026-04-02 18:33:16
C++ 继承问题:菱形继承与虚函数 在 C++ 的多重继承中,如果两个派生类都继承自同一个基类,而另一个类又同时继承这两个派生类,就会形成“菱形继承”结构。这种结构若不加处理,会导致基类被重复实例化,引发数据冗余、访问歧义等问题。解决这一问题的核心机制是虚继承(virtual inheritance
C++继承
菱形继承
虚继承
76
0