Basic Concepts of OOP
8. The use of friend functions and friend classes to access all the functions and data types of other classes (violates the concept of information hiding; adds needed flexibility and should only be used when necessary).
9. Design using Class Libraries and Design Patterns