Fundamentos da orientação a objetos: herança, herança múltipla, polimorfismo, encapsulamento,
construtores e destrutores, associação. Sobrecarga de operadores. Programação genérica
(metaprogramação estática).