★初心者にVisual C++を教えるスレ★ Part21
■ このスレッドは過去ログ倉庫に格納されています
0809デフォルトの名無しさん
2005/10/22(土) 15:22:56// デバイスに対する抽象的な操作を定義する(インターフェース)
struct Device { virtual void read() = 0; };
// 実際の動作を実装
class HddDevice : public Device { void read() { /* HDDを操作するコード */ } };
class SdDevice : public Device { void read() { /* SDを操作するコード */ } };
class FlashDevice : public Device { void read() { /* Flashを操作するコード */ } };
// 外から与えられたデバイスに対して操作する。
// 実際のデバイスの種類は知る必要は無い。
class FAT {
public:
FAT(Device* dev) : dev_(dev) {}
void hage() { dev_->read(); }
private:
Device* dev_;
};
HddDevice dev;
FAT fat(&dev);
fat.hage();
■ このスレッドは過去ログ倉庫に格納されています