Data abstraction: the object-oriented approach using C++ - Bergin, Joseph (McGraw-Hill series in computer science. . Fundamentals of computing and programming, 1994)