Earlier, you saw that to derive from a class, you provide the base class name and give an inheritance access specifier; the examples so far have used public inheritance, but you can use protected or private inheritance.
This is another difference between class and struct. For a class, if you miss off the inheritance access specifier, the compiler will assume that it is private; for a struct, if you miss off the inheritance access specifier, the compiler will assume that it is public.
The inheritance specifier applies more access restrictions, it will not relax them. The access specifier does not determine the access it has to the base class members, instead it alters the accessibility of those members through the ...