Differences between a
class and a
struct in C++ are that structs have default
public members and bases and classes have default
private members and bases. Both classes and structs can have a mixture of
private members, can use inheritance and can have member functions.
I would recommend using structs as plain-old-data structures without any class-like features, and using classes as aggregate data structures with
private data and member functions.