File Structures: An Object-Oriented Approach with C++