クラスメモPart2
本に沿って、Fileクラスも自分で作る。
//File.h class File { public: File(const char* filename); ~File(); int getSize() const; //constメンバ関数はなるべくつける。 unsigned getUnsigned() const; const char* getData() const; private: int mSize; char* mData; }; //File.cpp #include "File.h" #include <fstream> using namespace std; File::File(const char* filename) : mSize(0),mData(0) { ifstream in(filename, ifstream::binary); in.seekg(0,ios::end); mSize = static_cast<int>(in.tellg()); //C言語でのキャストよりもC++流に指定したほうが良い。 in.seekg(0,ios::beg); mData = new char[mSize]; in.read(mData, mSize); in.close(); } File::~File() { delete mData; } int File::getSize() const { return mSize; } const char* File::getData() const { return mData; } //getUnsignedはまだ実装していない。
次は、Mapクラスの原型を作りたいと思う。