### Basic OOP features:
1. default constructor:
  > zero-arg without side-effect
  > zero-arg with side-effect
  > parameterized
  > parameterized with initializer list
2. member access, dot operator
3. member function call
  > setters and getters with side-effect on class member
  > any public method with side-effect on global variable
