A C++ class may be instantiated in one of two ways. In one method, an interpreter is created and owned by the object. When the object is deleted, the interpreter is deleted. In the other method, the interpreter is passed to the constructor and is referenced by the object, but not owned by it. When the object is deleted, the interpreter is not deleted.