GeekBand
咸鸭蛋不好吃
别因为bug而苦恼,最起码你们相爱过。
展开
-
C++面向对象高级编程(上)-Geekband
头文件和类声明 一定要注意使用防卫式的头文件声明: #ifndef _CLASSHEAD_#define _CLASSHEAD_....#endif基于对象和面向对象 : 基于对象 单一Class 面向对象 多个class 之间的关系. 构造函数inline 默认实参 initialization list 初始列 (在初始列中进行,效率更高) 构造函数重载 ove原创 2016-03-06 11:25:52 · 482 阅读 · 0 评论 -
C++面向对象高级编程(下)第二周-Geekband
17,对象模型:关于vptr(vitrual Pointer)和vtbl(virtual Table)当存在虚函数就会出现虚指针vptr指向虚函数所在位置vtbl将vptr实现vtbl内容翻译为C: (*p->vptr)n; (* p->vptr[n])(p);动态绑定: 虚机制 1,指针 2,向上转型保证安全 3,调用的是虚函数18 this指针[Template Method]This原创 2016-04-01 09:47:05 · 424 阅读 · 0 评论 -
C++面向对象高级编程(下)-Geekband
继承,组合,委托.原创 2016-03-20 21:42:03 · 492 阅读 · 0 评论 -
C++面向对象高级编程(下)第一周-Geekband
勿在浮沙筑高台革命尚未成功,同志仍需努力 Conversion Functionclass Fraction{public: Fraction(int n, int den = 1) : m_fenzi(n), m_fenmu(den){} operator double() const { return (double)(m_fenzi/原创 2016-03-25 09:02:18 · 377 阅读 · 0 评论 -
STL与泛型编程第一周作业
/*题目:给定一个 vector:v1 = [0, 0, 30, 20, 0, 0, 0, 0, 10, 0],希望通过not_equal_to 算法找到到不为零的元素,并复制到另一个 vector: v2*/int _tmain(int argc, _TCHAR* argv[]){ vector<int> v1; v1.push_back(0); v1.push_原创 2016-04-07 14:44:35 · 631 阅读 · 0 评论 -
STL与泛型编程-第一周笔记-Geekband
1, 模板观念与函数模板简单模板: template< typename T > T Function( T a, T b) {… }类模板: template struct Object{……….}; 函数模板 template< class T> inline T Function( T a, T b){……} 不可以使用不同型别的参数来调用函数模板可以使用class代替typenam原创 2016-04-08 09:58:17 · 557 阅读 · 0 评论 -
STL与泛型编程-学习2-GeekBand
9, 容器 Deque双向队列 和vector类似, 新增加: push_front 在头部插入一个元素 pop_front 在头部弹出一个元素Deque和vector内存管理不同: 大块分配内存Stack先进后出结构 只有一个出口 只能访问顶端元素, 不允许遍历 支持操作: push增加元素 pop移除元素 top获取顶端元素实际底层使用Deque实现, 但也可以实际制定容器原创 2016-04-13 22:28:25 · 466 阅读 · 0 评论 -
STL与泛型编程-练习2-GeekBand
练习题目: struct Programmer{ Programmer(const int id, const std::wstring name): Id(id), Name(name){ } void Print() const { std::wcout<<L"["<<Id<<L"]: "<<Name<<std::endl;原创 2016-04-13 22:47:12 · 487 阅读 · 0 评论