So talking about the object-oriented paradigm of encapsulation, what are ways to implement it and ways to break it.
From my experiences, structures and classes with private/protected members, and namespaces were ways to hide data and behaviours.
Static objects/functions implemented in classes break encapsulation and data-hiding.
Are there more ways to do either?