Good design standards

An object-oriented design is not a good design by default.

Experienced C++ OOP programmers generally agree on certain design standards for C++ classes.

Data members are usually private.

The interface consists only of member functions.

The interface includes few if any data members.