C++
咸鸭蛋不好吃
别因为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 评论 -
堆,栈,内存管理, 拓展补充-Geekband
8, 堆,栈,内存管理栈: local objects 在离开作用域之后就会被消除. 堆: new MyClass 一直会存在静态对象: static local object 作用域在当前函数,其生命在整个程序结束后才会结束. 全局对象: Global object 作用域在全局.new函数的内部实现:原创 2016-03-11 18:18:28 · 427 阅读 · 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与泛型编程-练习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 评论