I now want to understand the distinctions between a C++ class and struct.
Please go through the technical distinctions and the justifications for selecting one over the other in OO design.
I'll start with a clear distinction:
A struct's members are public by default if you don't specify public: or private:, but a class's members are private by default.
In the tucked-away areas of the C++ standard, I'm sure there are other variances.