【初心者歓迎】C/C++室 Ver.64【環境依存OK】
at TECH
12:デフォルトの名無しさん
09/02/10 19:50:17
>>9
インタフェースクラスを作って、
実際にはその実装クラスを new して返す
static メンバ関数を用意する、という手法もある。
// IA.h
class IA {
public:
static IA* Create();
virtual ~IA() { }
virtual void Hoge() = 0;
};
// IA.cpp
#include "IA.h"
class A : public IA {
public:
virtual void Hoge() { /* ここで実装 */ }
};
IA* IA::Create() { return new A; }
こっちはメンバへのアクセスが楽だという利点と、
public メンバ関数を追加するのが面倒臭いという欠点がある。
次ページ続きを表示1を表示最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4990日前に更新/69 KB
担当:undef