There are two possible approaches to adding database features to the programming language C++. One is to implement database features at the language level by modifying the language. The other is to implement them on top of the language by using the features of the language.
We present a design and implementation of a primitive, single-user object-oriented database system having C++ as the programming language. We added two major features to C++ using the second approach. First, we added persistence, which is a property that objects persist after program termination. Previous systems based on the second approach were limited to providing persistence only to certain classes. We relaxed this limitation by providing persistence to fundamental types and arrays. Second, we added composite object support to C++. Composite objects, which are defined as objects with hierarchies of exclusive component objects, enable treating collections of related objects as single units.