Ask yourself the following:
- Do you want to model an Employee IS a User? If so, chose inheritance.
- Do you want to model an Employee HAS a User information? If so, use composition.
- Are virtual functions involved between the User (info) and the Employee? If so, use inheritance.
- Can an Employee have multiple instances of User (info)? If so, use composition.
- Does it make sense to assign an Employee object to a User (info) object? If so, use inheritance.
In general, strive to model the reality your program simulates, under the constraints of code complexity and required efficiency.