TITLE: What is protected inheritance? PROBLEM: skochhar@cvbnet.prime.com (Sandeep Kochhar x4618 5-2) In the ARM, I seem to find no mention/explanation of protected derivation (i.e., class Foo: protected B {...};). But I know some compilers support it... Is it a recent addition to the ARM or the language? Where is it explained? What does it mean (briefly)? RESPONSE: pl2440@meibm31.cen.uiuc.edu (Paul Jay Lucas), 17 Nov 92 AT&T Bell Laboratories *****> It *is* is the ARM if you read the grammar in the back; it's just not explained anywhere. It is explained in Lippman, 2nd ed., and in my book, and perhaps other places. The only difference between protected and private derivation is that the protected parts of the base become part of the protected parts of the derived class as opposed to part of the private parts of the derived class. One example that I can think of for using it is: class List {}; class Dequeue : protected List {}; class Stack : private Dequeue {}; class Queue : private Dequeue {}; Now Stack and Queue will have access to the protected parts of List whereas if Dequeue were privately derived, they wouldn't. Of course, you're doing all this inheritance here for *code* reuse and *not* because a Queue nor a Stack is-a Dequeue nor a List, nor is Dequeue a List.