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.