Non-public Inheritance Uses Allows inheritance of implementation but not interface Following code not allowed class A { }; class B : private A { }; B b; A *a = &b; The object b is not of type A For the "is-a" rule