所以我有这些类(class)。有一个基类,但是它有/将有很多派生类,并且那些派生类也将具有派生类。我希望能够有一个将其二进制数据写入文件的函数,但是我不确定如何对很多派生类进行此操作。
我在想一些类似的事情:
void writeData(ofstream & _fstream)
{
_fstream.write()//etc..
}
但是,每个实现此方法的派生类将不得不写入其父类的所有数据,这将重复很多代码。
不重写所有先前编写的
writeData()
代码的最佳方法是什么? 最佳答案
您可以从派生类实现中调用基类实现:
void Derived::writeData(ofstream & _fstream)
{
// Base class writes its data
Base::writeData(_fstream);
// now I can write the data that is specific to this Derived class
_fstream.write()//etc..
}