#ifndef FILE_UNIT_H_
#define FILE_UNIT_H_

#include <string>

template <typename T>
class FileUnit
{
public:
    std::string filename;
    T *file;

    FileUnit(std::string& filename);

    virtual ~FileUnit();
};

#endif

#ifndef FILE_UNIT_H_
#define FILE_UNIT_H_

#include <string>

template <typename T>
class FileUnit
{
public:
    FileUnit(std::string& filename);

    virtual ~FileUnit();

private:
    std::string filename;
    T *file;
};

#endif

Change privacy to private for the filename and generic representation
Change privacy to private for the filename and generic representation
