In what scenarios is it better to use a struct
vs a class
in C++?
The differences between a class
and a struct
in C++ are:
struct
members and base classes/structs are public
by default.class
members and base classes/structs are private
by default.Both classes and structs can have a mixture of public
, protected
and private
members, can use inheritance, and can have member functions.
I would recommend you:
struct
for plain-old-data structures without any class-like features;class
when you make use of features such as private
or protected
members, non-default constructors and operators, etc.