Factory
AbstractFactory
Builder
Prototype
Singleton
Adapter
Bridge
Composite
Decorator
Proxy
TemplateMethod
ChainofResponsibility
Flyweight
Command
Observer
Strategy
State
Iterator
Memento
Vistor
In C++, the essential of design pattern is the use of virtual function, override and inheritance.