窗体顶端
继承 复合 委托
复合Comosition表示 has a
设计模式 Adapter(改造 适配 配接)
queue可以使用duque已经完成的功能
上图相当于只开放了deque的其中六个功能 而且名字也换了(既)
从内存角度理解composition
(红色部分 是编译器加上的)
Delegation委托 (另一个术语composition by reference)
指针传值也叫by reference
只是指针指向右边 但什么时候拥有右边还未知
pImpl
复合与委托的区别
前者:有了外部就有的内部 内外一起出现
后者:左右不同步
左边只是接口,实现都在右边 (称为:pimpl or handle\body 也称为编译防火墙)
如何做到动n不改变abc?
如a想改变,则copy一份给a来改,bc继续共享n
补充:class与struct的区别
Inheritance继承,表示 is a
有三种继承方式
Public (表示 是一种)
Private
protected
最重要的是第一种
父类的数据被完整继承下来
在希望子类重新定义的构造函数前面加virtual
pure virtual :子类必须定义
继承搭配虚函数的例子
teoplate method
继承加复合
这两种类型中每个类的构造和析构的调用顺序?
委托加继承
Observer
Composite
注:vertor容器中只能放指针
prototypr
—>
已知设计模式汇总:
Adapter handl/body(pImpl) singlton template methond observer composite prototype