Yup. If B inherits from A, and A has an inheritable member c of type C, then B inherits that member and, therefore, B "has a" C. In the second case, however, the member is private so it is not inherited. Therefore, in that case, B doesn't have a C. [ July 18, 2003: Message edited by: Corey McGlone ]
Thank you Corey. I am getting is-a and has-a confused with class diagrams. I was thinking is-a is the inheritance arrow and has-a is the aggregation symbol. I first saw the terms is-a and has-a in the UML User's Guide.