- 博客(7)
- 收藏
- 关注
原创 二叉树
一、遍历二叉树 1、前序遍历:根左右 2、中序遍历:左根右 3、后序遍历:左右根 4、层序遍历:一层层 #include"stdafx.h" #include using namespace std; template struct TreeNode { T _data; TreeNode* _left;
2017-11-08 00:51:58 120
转载 不能继承的类
设计一个不能被继承的类 1.定义公有静态成员函数 #include using namespace std; class A { public: static A* getA(int x) { cout return new A(x); //这里用new,而直接调用是因为静态方法只能访问类的静态
2017-09-27 14:09:52 242
原创 继承
1.定义 面向对象的继承就是: 从一个类派生另外一个类,使父类的所有的特征在子类中自动可用。这个类可以声明一些类型,这些类型可以共享部分或全部以前所声明的类型,它也可以从超过一个的基类型共享一些特征。继承是面向对象复用的重要手段。通过继承定义一个类,继承类型之间的关系模型,共享共有的东西,实现各自本质的不同的东西。 2.分类 一.继承的关系及继承访问限定符
2017-09-27 13:52:47 203
原创 智能指针
一、Auto_ptr指针 把Auto_ptr指针封装成一个类,指针出了Auto_ptr的作用域会通过析构函数自动释放。 #include "stdafx.h" #include #include"Auto_ptr.h" using namespace std; template int*p = new int; class Auto_ptr { public: Auto_pt
2017-09-26 20:19:41 153
原创 虚函数
虚函数 一、重写发生的条件: 1.不在同一作用域。 2.函数名相等,参数相等,返回值相等。 3.基类函数必须有virtual关键字。 重写条件满足后,父类虚函数表中的父类虚函数fun()函数的地址,会被修改成子类虚函数fun()函数的地址,下一次去父类虚函数表调用的函数就是子函数的fun(),重写是构成多态最重要的一个条件。 重写的过程看起来和隐藏很相似,其实不然,隐藏之后还是可以通过
2017-09-26 20:05:32 325
原创 内存对齐 位域
一、内存对齐 许多计算机系统对基本类型数据在内存中存放的位置有限制,他们会要求这些数据的首地址的值是某个数k(通它为4或8)的倍数,这就是所谓的内存对齐,而这个k则被称为该数据类型的对齐模数。这种强制的要求一来简化了处理器与内存之间传输系统的设计,二来可以提升读取数据的速度。比如这么一处理,它每次读写内存的时候都从某个8倍数的地址开始,一次读出或写入8个字节的数据,假如软件能保证double型的
2017-09-26 16:13:02 244
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人