>>78
privateに放り込むよりメンバをconstにするほうがいいぞ。

class FilePtr
{
public:
explicit FilePtr(const char* text,const char *wr) : pfile( std::fopen(text,wr) ) { if(!pfile) throw int( 0 ); }
~FilePtr() { std::fclose(pfile); }
operator std::FILE* () const { return pfile ; }
private:
std::FILE* const pfile;
};