class versus struct
You might have seen a different way of declaring an object, using the class
keyword, instead of struct
, as shown in the following code:
class Player // we used class here instead of struct! { string name; // };
The class
and struct
keywords in C++ are almost identical. There is only one difference between class
and struct
, and it is that the data members inside a struct
keyword will be declared public
by default, while in a class
keyword the data members inside the class will be declared private
by default. (This is why I introduced objects using struct
; I didn't want to put public
inexplicably as the first line of class
.)
In general, struct
is preferred for simple types that don't use encapsulation, don't have many member functions, and must be backward compatible with C. Classes are used almost everywhere else.
From now on, let's use the class
keyword instead of struct
.