What overheads and other considerations are there when using a struct vs a class? C on embedded systems has traditionally use structs to hold structured data.

Arduino brings C++ to the table, so we can use classes instead.

Lets say we have two different data structures which could be considered very similar:

typedef struct 
{
    int valueOne;
    int valueTwo;
    int valueThree;
} value_t;


and:

class Value
{
    public:
        int valueOne;
        int valueTwo;
        int valueThree;
}


In terms of memory, what difference will this make? 

I still see the struct technique being used heavily - why is this?
As taken from the accepted answer from When should you use a class vs a struct in C++?


  The only difference between a class and a struct in C++ is 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 public and 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.


Memory wise the access modifier makes no difference and given the memory constraints of the Arduino, people are less likely to use classes with complex hierarchies, but prefer the POD structs anyway.