Techniques
- templates --
template<class T> class C { ... } - overloading -- void void - friends -- to bypass protection - type conversions -- by class constructors or type operators - type coercion -- by explicit casts (is dangerous) - smart pointers -- by overloading de-reference