Question:
What is the standard rule on access specifiers associated with superclasses?
Old C++ compilers would not allow protected superclasses. But, the book I’ve read about OOAD allows it.
Example:
class a {}; class b: protected a {}; // invalid on // old c++ // compilers!
Answer:
You’ve bumped into a compiler bug. A class can be inherited as public, protected or private base. My advice is to get of rid of this compiler or at least upgrade it. If it can’t support such a fundamental feature, I’m pretty sure it’s replete with other bugs and incompatibilities.