Type keywords (class, enum, struct, union):
*enum
*struct
Interchangeable with class, except for the following differences:
struct, then the default accessibility of bases and members is public rather than private.
struct cannot be used to declare a template type parameter or template template parameter; only class can.