// FileMgr.cpp #include "FileMgr.h" #include "../Utilities/Utilities.h" using namespace FileManager; class AppSpecificFileMgr : public FileMgr { public: AppSpecificFileMgr() {} virtual void file(const File& f) { std::cout << "\n " << dir_ + "\\" + f; } virtual void dir(const Dir& d) { dir_ = d; } private: Dir dir_; }; using namespace Utilities; using Utils = StringHelper; int main() { Utils::Title("MT3Q6 - Demonstrating FileMgr"); putline(); Utils::title("Base class behavior"); FileMgr fm(".."); fm.addPattern("*.h"); fm.addPattern("*.cpp"); fm.find(); putline(); Utils::title("Derived class behavior"); AppSpecificFileMgr asfm; asfm.find(".."); std::cout << "\n\n"; }