- 博客(5)
- 资源 (2)
- 收藏
- 关注
原创 多态与多态对象模型
这里简单介绍下什么是多态,多态的构成条件,多态原理以及多态的对象模型。在介绍多态之前,先简单的介绍下什么是虚函数。虚函数 类的成员函数前面加virtual关键字,则这个成员函数称为虚函数。 注:1. 除静态成员函数 2. 内联函数不能定义为虚函数 虚函数重写: 当在子类的定义了一个与父类完全相同的虚函数时,则称子类的这个函数重写(也称覆盖)...
2018-02-20 23:02:38 330
转载 图说C++对象模型:对象内存布局详解
转自:http://mp.blog.csdn.net/postedit阅读目录0.前言1.何为C++对象模型?2.文章内容简介3.理解虚函数表3.1.多态与虚表3.2.使用指针访问虚表4.对象模型概述4.1.简单对象模型4.2.表格驱动模型4.3.非继承下的C++对象模型5.继承下的C++对象模型5.1.单继承5.2.多继承6.虚继承6.1.虚基类表解析6.2.简单虚继承6.3.虚拟菱形继承7.一...
2018-02-20 22:09:07 10165 3
原创 菱形继承和虚继承
首先继承,继承方式和访问限定符,以及派生类的默认成员函数。然后在对菱形继承与虚继承进行详细的介绍。继承 1. 定义 继承是面向对象复用的最要手段。通过继承定义一个类,继承是类型之间的关系建模,共享公有的东西,实现各自本质不同的东西。 2. 继承方式与访问限定符 访问限定符:public(公有)、protected(保护)、私有(p...
2018-02-19 23:08:15 268
原创 String引用技术写时拷贝
浅拷贝&深拷贝 string类的赋值浅拷贝会使多个对象指向同一块空间,当调用析构函数时会使一块空间释放多次,导致程序崩溃。再进一步我们会想到深拷贝,调用拷贝构造或赋值时会拷贝一块新的空间,并将值拷贝下来,这样各自指向自己的数据块,析构时释放各自的数据块。但由于不断的开辟空间、释放空间会花费时间,而且当创建对象较多时,会占用大量的内存。那怎样去避免这样的问题呢? ...
2018-02-17 22:32:11 221
原创 C/C++动态内存管理
这里首先对内存做简单了解,然后总结malloc/free和new/delete的关系及差异,深度剖析new/delete以及模拟实现new[]/delete[]。 C/C++程序分配的内存 1. 栈区(stack):由编译器自动分配释放,存放函数局部变量、函数参数、返回数据等。 2. 堆区(heap):一般由程序员分配释放 3. 全局区(...
2018-02-03 09:34:16 237
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人