C++
Software design patterns
Curiously recurring template pattern
Finite-state machine
Template method pattern
Virtual function
Inheritance
Design Patterns
Template
Software engineering
Computer programming
Computing