而且还有面向对象和基于对象的区别, 面向对象面对多重classes的交互设计, 基于对象之面对单一class的设计
C++才有重载
类相关
函数如果在类体中定义, 那么就会自动成为inline候选
构造函数后面的变量构造部分称为初始化列...首先要判断是否会出现自我赋值, 然后先delete自己的指针, 再深拷贝对方的指针:
如果不检测自我赋值的话, delete自己指针的时候有可能把对方指针内容也删掉, 很危险
系统堆栈
直接初始化的都是栈对象..., 不赋初值时静态成员为0
借助new(malloc)初始化的是堆对象, 生命直到delete才会结束, 如果指针作用域时还没有被delete, 那么就会发生内存泄漏....委托, 利用指针实现, 功能来自类内一个指向另一个类的指针
构造的时候都是从小到大(从父类到子类), 析构则相反, 内存分配也是大套小的
设计模式
普通单例: 静态成员在类内, 只要一写出这个类就会构造...这个过程需要多出好多步的寄存器计算, 因此动态绑定运行起来比静态绑定慢
之所以要用指针来进行多态本质是因为我们无法管理大小不一的容器, 但是管理指针很方便
每当调用一个对象的函数时, 编译器会隐式传入一个