すいません。
class Device {
 public:
  virtual char Read(int)=0;
  virtual void Write(char)=0;
virtual void Seek(int)=0;
}
class FAT : public Device
{
 ...
}
class HDDFAT : public FAT
{
 public:
  char Read(int){...}
  void Write(char){...}
  void Seek(int){...}
}
という感じで、Deviceにある純粋仮想関数
の実体をHDDFATで定義するという形で良い
のでしょうか?