会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
ericshi1985
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
4
5
6
7
下一页
2022年11月28日
<五>关于虚析构函数
摘要: 问题一:哪些函数不能实现成虚函数 虚函数依赖: 1:虚函数能产生地址,存储在vftable中 2:对象必须存储在 vfptr-> vftable-> 虚函数地址 **构造函数 ** 1:virtual + 构造函数 (NO,不可以在构造函数前加virtual 2:构造函数中 调用的任何函数,都是静态
阅读全文
posted @ 2022-11-28 08:48 Hello_Bugs
阅读(62)
评论(0)
推荐(0)
2022年11月27日
<四>虚函数 静态绑定 动态绑定
摘要: 代码1 class Base { public: Base(int data=10):ma(data){ cout<<"Base()"<<endl; } void show(){cout<<"Base Show()"<<endl;} void show(int){cout<<"Base Show(i
阅读全文
posted @ 2022-11-27 21:53 Hello_Bugs
阅读(98)
评论(0)
推荐(0)
<三>关于重载 隐藏 覆盖
摘要: 重载关系 一组函数要重载,必须处在同一个作用域中 ,而且函数名字相同,参数列表不同 代码1中的Base中的 show() 和show(int) 属于重载 代码2中的Base中的 show() 和Derive中的show()不属于重载不在同一个作用域下面 隐藏/重定义的关系(主要是指作用域隐藏) 在继
阅读全文
posted @ 2022-11-27 11:22 Hello_Bugs
阅读(78)
评论(0)
推荐(0)
<二>派生类的构造过程
摘要: 派生类从继承可以继承来所有的成员(变量和方法) 除了构造函数和析构函数 派生类怎么初始化从基类继承来的成员变量的呢?通过调用基类的构造函数来初始化 派生类的构造函数和析构函数,负责初始化和清理派生类部分 派生类从基类继承来的成员的初始化和清理由谁负责?是由基类的构造和析构函数来负责 派生类对象的构造
阅读全文
posted @ 2022-11-27 10:02 Hello_Bugs
阅读(102)
评论(0)
推荐(0)
<一>继承的基本意义
摘要: 1:继承的本质和原理 2:派生类的构造过程 3:重载,覆盖,隐藏 4:静态绑定和动态绑定 5:多态,vfptr,vftable 6:抽象类的设计原理 7:多重继承以及问题 8:虚基类 vbptr 和vbtable 9:RTTI 10:C++四种类型强转 继承的本质和原理 1:代码的复用 类和类之间的
阅读全文
posted @ 2022-11-27 08:38 Hello_Bugs
阅读(71)
评论(0)
推荐(0)
2022年11月25日
<八>通过new和delete重载实现对象池的应用
摘要: MyQueue版本1 #include <iostream> using namespace std; template<typename T> class MyQueue { private: struct QueueItem { QueueItem(T _data = T(), QueueIte
阅读全文
posted @ 2022-11-25 17:25 Hello_Bugs
阅读(97)
评论(0)
推荐(0)
2022年11月23日
<七>深入理解new和delete的原理
摘要: new ,delete 运算符 int *p =new int; delete p; 看一下汇编代码 可以看到new 和delete 运算符其实也是 operator运算符重载函数的调用 malloc和new malloc 按字节开辟内存 new在开辟内存的时候需要指定类型 new int[10]
阅读全文
posted @ 2022-11-23 20:46 Hello_Bugs
阅读(332)
评论(0)
推荐(1)
2022年11月22日
<四>MyVector中加入迭代器功能
摘要: 我们之前有<C++模板编程模块>中的第<四>节 理解空间配置器allocator优化STL中的Vector 我将在此基础上加入迭代器功能代码 Iterator 为什么可以遍历所有的容器的方式都一样? auto it =continer.beign(); for( ;it!=continer.end(
阅读全文
posted @ 2022-11-22 23:36 Hello_Bugs
阅读(55)
评论(0)
推荐(0)
<三>自己实现string,加入迭代器功能
摘要: 迭代器的功能: 提供一种统一的方式,来透明的遍历容器 理解 begin()方法,end()方法, ++ , * 的用处 其中 C++11 中提供的foreach的方式,其底层还是通过迭代器来进行遍历的. #include <iostream> using namespace std; class M
阅读全文
posted @ 2022-11-22 17:08 Hello_Bugs
阅读(62)
评论(0)
推荐(0)
2022年11月21日
<二>自己实现简单的string
摘要: 我们结合运算符重载知识实现string 类 在自己实现的String类中可以参考C++中string的方法 例如构造,加法,大小比较,长度,[] 等操作. 当前的MyString 类中,暂时不加入迭代器,我们将在下一节中加入迭代器的代码. #include <iostream> using name
阅读全文
posted @ 2022-11-21 22:33 Hello_Bugs
阅读(70)
评论(0)
推荐(0)
上一页
1
2
3
4
5
6
7
下一页
公告